CN114219884A - 粒子特效渲染方法、装置、设备及存储介质 - Google Patents
粒子特效渲染方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114219884A CN114219884A CN202111582801.XA CN202111582801A CN114219884A CN 114219884 A CN114219884 A CN 114219884A CN 202111582801 A CN202111582801 A CN 202111582801A CN 114219884 A CN114219884 A CN 114219884A
- Authority
- CN
- China
- Prior art keywords
- particle
- force field
- rendered
- image frame
- moment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本公开提供一种粒子特效渲染方法、装置、设备及存储介质,该方法包括:获取待渲染物体;基于待渲染物体,生成待渲染物体对应的力场;基于力场的3D纹理贴图,根据第t时刻的图像帧中粒子在力场中的第一位置对应的向量值,获得第t+1时刻的图像帧中粒子在力场中的第二位置;根据粒子在第t+1时刻的图像帧中的第二位置,渲染生成第t+1时刻的图像帧,以根据各图像帧,获得待渲染物体的粒子特效渲染结果。通过力场实现来实现粒子的动态渲染,可以获得更壮观的渲染效果,且以3D纹理贴图来表示待渲染物体的力场,可以快速的获取粒子在力场中相对于待渲染物体的位置,从而大幅提升粒子渲染效率。
Description
技术领域
本公开实施例涉及计算机技术领域,尤其涉及一种粒子特效渲染方法、装置、设备及存储介质。
背景技术
粒子系统是计算机图形学中用于模拟特定现象或视觉效果的常用技术之一,它在模仿自然现象、物理特效等方面上独具优势,能够实现一些真实自然且具备随机性的效果,在图像处理、视频剪辑、游戏特效等领域有着广泛的应用。
相关技术中,在对三维物体进行粒子渲染时,需要获得物体的三维信息,使得粒子根据物体的三维信息产生渲染效果。然而,这些三维信息往往是以物体的三角顶点信息形式获得的,粒子通过三角顶点信息产生渲染效果时,需要和所有三角形做碰撞检测,此过程相对复杂,使得粒子特效渲染的效率低,且渲染效果较差。
发明内容
本公开实施例提供一种粒子特效渲染方法、装置、设备及存储介质,用于降低粒子特效渲染的复杂度,提升粒子特效渲染效率。
第一方面,本公开实施例提供一种粒子特效渲染方法,包括:
获取待渲染物体;基于待渲染物体,生成待渲染物体对应的力场,力场中包括一个或多个位置,所述位置对应的向量值用于指示粒子在所述位置时所受的力;基于力场的3D纹理贴图,根据第t时刻的图像帧中粒子在力场中的第一位置对应的向量值,获得第t+1时刻的图像帧中粒子在力场中的第二位置,t为非负整数;根据粒子在第t+1时刻的图像帧中的第二位置,渲染生成第t+1时刻的图像帧,以根据预设时段中各时刻对应的图像帧,获得待渲染物体的粒子特效渲染结果。
根据本公开的一个或多个实施例,根据第t时刻的图像帧中粒子在力场中的第一位置对应的向量值,获得第t+1时刻的图像帧中粒子在力场中的第二位置,包括:
根据粒子在第一位置对应的向量值,获得粒子在第一位置所受的力;根据粒子在第一位置所受的力,获得第t+1时刻的图像帧中粒子在力场中的第二位置。
根据本公开的一个或多个实施例,根据粒子在第一位置所受的力,获得第t+1时刻的图像帧中粒子在力场中的第二位置,包括:
获取粒子的质量、粒子在第一位置的初始速度;根据粒子在第一位置所受的力和粒子的质量,获得粒子在第一位置的加速度;根据粒子在第一位置的初始速度、加速度以及第t+1时刻的图像帧与第t时刻的图像帧的时间差,获得第t+1时刻的图像帧中粒子在力场中的第二位置。
根据本公开的一个或多个实施例,力场包括向量场。
根据本公开的一个或多个实施例,力场包括有向距离场,有向距离场中还包括各位置与待渲染物体表面的最短距离;
该粒子特效渲染方法,还包括:确定第一位置与待渲染物体表面的最短距离;根据第一位置对应的最短距离和向量值,确定粒子在第一位置所受的力。
根据本公开的一个或多个实施例,述基于待渲染物体,生成待渲染物体对应的力场,包括:获取待渲染物体对应的三维网格模型;基于三维网格模型,生成待渲染物体的力场。
第二方面,公开实施例提供一种粒子特效渲染装置,包括:
第一获取模块,用于获取待渲染物体;
生成模块,用于基于待渲染物体,生成待渲染物体对应的力场,力场中包括一个或多个位置,该位置对应的向量值用于指示粒子在该位置时所受的力;
第二获取模块,用于基于力场的3D纹理贴图,根据第t时刻的图像帧中粒子在力场中的第一位置对应的向量值,获得第t+1时刻的图像帧中粒子在力场中的第二位置,t为非负整数;
渲染模块,用于根据粒子在第t+1时刻的图像帧中的第二位置,渲染生成第t+1时刻的图像帧,以根据预设时段中各时刻对应的图像帧,获得待渲染物体的粒子特效渲染结果。
第三方面,本公开实施例提供一种电子设备,包括:至少一个处理器和存储器;存储器存储计算机执行指令;至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如第一方面中任一粒子特效渲染方法。
第四方面,本公开实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如第一方面中任一粒子特效渲染方法。
第五方面,本公开实施例提供一种程序产品,包括:计算机程序,该计算机程序被处理器执行时,实现如第一方面中任一粒子特效渲染方法。
本公开实施例提供的粒子特效渲染方法、装置、设备及存储介质中,获取待渲染物体;基于待渲染物体,生成待渲染物体对应的力场;基于力场的3D纹理贴图,根据第t时刻的图像帧中粒子在力场中的第一位置对应的向量值,获得第t+1时刻的图像帧中粒子在力场中的第二位置;根据粒子在第t+1时刻的图像帧中的第二位置,渲染生成第t+1时刻的图像帧,以根据各图像帧,获得待渲染物体的粒子特效渲染结果。本公开实施例中,通过力场实现来实现粒子的动态渲染,可以达到壮观的渲染效果,且以3D纹理贴图来表示待渲染物体的力场,可以快速的获取粒子在力场中相对于待渲染物体的位置,从而大幅提升粒子渲染效率。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的粒子特效渲染方法的场景示意图;
图2为本公开实施例提供的粒子特效渲染方法的流程示意图一;
图3为本公开实施例提供的力场的示意图;
图4为本公开实施例提供的粒子特效渲染方法的原理示意图一;
图5为本公开实施例提供的粒子特效渲染方法的流程示意图二;
图6为本公开实施例提供的粒子特效渲染方法的原理示意图二;
图7为本公开实施例提供的粒子特效渲染装置的结构示意图;
图8为本公开实施例提供的电子设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
相关技术中,在对三维物体进行粒子渲染时,需要获得物体的三维信息,使得粒子根据物体的三维信息产生渲染效果。然而,这些三维信息往往是以物体的三角顶点信息形式获得的,粒子通过三角顶点信息产生渲染效果时,需要和所有三角形做碰撞检测,此过程相对复杂,使得粒子特效渲染的效率低,切渲染效果较差,另外,在渲染过程中,通常是根据物体的位置信息,直接在物体位置处生成粒子,其渲染效果较差。
有鉴于此,本公开实施例提供一种粒子特效渲染方法、装置、设备及存储介质,通过力场实现来实现粒子特效的渲染,实现粒子的动态渲染,从而获得更壮观的渲染效果,且以3D纹理贴图来表示待渲染物体的力场,可以快速的获取粒子在力场中相对于待渲染物体的位置,从而大幅提升粒子渲染效率。
需要说明的是,本公开实施例中的粒子特效渲染方法,可以由终端设备来实现,也可以终端设备中的具体功能架构实现,下文以终端设备作为本公开实施例中的执行主体介绍本公开的实施方式,在其他可选实施例的中,也可以是其他计算机系统或者计算机系统的功能结构模块来实现本公开实施例中的相应步骤,本公开实施例不做限定。
图1为本公开实施例提供的粒子特效渲染方法的场景示意图。如图1所示,该场景中包括终端设备101。
其中,终端设备101可以是个人数字处理(personal digital assistant,简称PDA)设备、计算设备(例如个人电脑(personal computer,简称PC))等。应当理解的是,图1中以台式电脑为例示出,但不以此为限定。
在本公开实施例的方案中,可以将任意的三维物体输入至该终端设备101中,由终端设备101得到图1所示的粒子特效渲染结果。需要说明的是,该粒子特效渲染结果为粒子动态的构成该待渲染物体的形状的过程。
下面以具体地实施例对本公开实施例的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开实施例的实施例进行描述。
图2为本公开实施例提供的粒子特效渲染方法的流程示意图一。如图2所示,本公开实施例提供的粒子特效渲染方法包括以下步骤:
S201、获取待渲染物体。
需要说明的是,待渲染物体可以为任意类型的3D物体,本公开实施例不做具体限定。
S202、基于待渲染物体,生成待渲染物体对应的力场。
其中,力场是一个由影响粒子运动的向量组成的统一网格,当粒子进入该力场的边界时,粒子的运动将受到力场的影响,当粒子离开边界时,力场对粒子的影响随即消失,该场中包括一个或多个位置,各位置对应的向量值用于指示粒子在该位置时所受的力。
需要说明的是,本公开实施例中对于力场中位置的划分方式不做具体限定,一种优选的实施方式中,可以获得力场对应的体积元素(Volume Pixel,即体素)表示,力场中的一个位置对应于至少一个体积元素,即通过至少一个体积元素表示力场中的一个位置。
以通过一个体积元素表示一个位置为例,该力场中每个体积元素对应于一个向量值,该向量值用于指示该体积元素处的粒子所受的力,当粒子运行至该体积元素时,会受到该体积元素对应的力的影响而进行运动,从而使得粒子产生动态效果。
一些实施例中,力场中每个位置的对应的向量值的大小和该位置与待渲染物体表面的距离相关,具体的,与待渲染物体表面的距离越远的位置(包括待渲染物体内部、待渲染物体外部位置)对应的向量值越大,所受到的力也越大。
另外,力场中每个位置对应的向量值的方向为:朝向待渲染物体最近表面的垂直方向。
需要说明的是,待渲染物体的表面所在位置对应的向量值优选为0.
应当理解的是,通过将待渲染物体表面所在位置对应的向量值设置为0,使得粒子在待渲染物体的表面时所受的力的大小为0,当粒子到达待渲染物体表面时即不再进行运动,可以通过位于待渲染物体表面的粒子渲染出待渲染物体的形状。
图3为本公开实施例提供的力场的示意图。如图3所示,力场以3D纹理贴图的形式示出,示例性的,在该3D纹理贴图中,对于位置P1,其并非待渲染物体表面位置,位置P1对应的力为F1;对于位置P2,其处于待渲染物体表面位置,其对应的向量值为0,对应的力也为0。
S203、基于力场的3D纹理贴图,根据第t时刻的图像帧中粒子在力场中的第一位置对应的向量值,获得第t+1时刻的图像帧中粒子在力场中的第二位置。
S204、根据粒子在第t+1时刻的图像帧中的第二位置,渲染生成第t+1时刻的图像帧,以根据预设时段中各时刻对应的图像帧,获得待渲染物体的粒子特效渲染结果。
本公开实施例中,在获得待渲染物体的力场之后,将力场以3D纹理贴图的形式,导入到计算计算机系统的GPU中,GPU中的着色器(Shader)即可根据该3D纹理贴图,实时的获得各个粒子在力场中的位置信息,并根据位置信息在对应位置实时的绘制粒子,以获得由粒子所构成的图像。
具体的,在绘制粒子前,首先需要设置粒子的相关属性,生成用于渲染该待渲染物体的粒子系统。其中,粒子的相关属性例如是:粒子的生命周期范围、初始速度范围和粒子质量范围等。
进一步的,在粒子生命周期范围内随机确定各粒子的生命周期,在粒子的初始速度范围内随机确定各粒子的初始速度,在粒子的质量范围内随机确定各粒子的质量,从而根据各粒子的生命周期、初始速度和质量,生成用于渲染待渲染物体的粒子系统中的各粒子。应理解的是,粒子系统中各粒子的生命周期、速度、质量在对应的范围内随机分布。
根据本公开的一个或多个实施例,粒子的相关属性还包括:粒子的初始位置、粒子颜色等等,此处不再一一示出。
进一步的,GPU中的粒子发射器按照各粒子的相关属性,向力场中发射粒子系统中的各个粒子。在各粒子进入力场后,其所处的位置不同,会受到不同位置对应的力的影响而产生运动,从而在不同的时刻到达不同的位置,因此,可以通过粒子当前时刻所在位置的向量值,来计算粒子在下一时刻的位置信息,再根据位置信息以及粒子的相关属性,在力场中绘制出该时刻对应的粒子,从而得到该时刻对应的图像帧,而由预设时段中各个时刻对应的图像帧组成的画面即为待渲染物体对应的粒子特效渲染结果。
需要说明的是,对于预设时段本公开实施例不做限定,一方面,预设时段可以为用户在渲染前设定的预设渲染时长,示例性的,在粒子进入力场前,用户可以根据需求设置预设渲染时长,在渲染过程中,自粒子进入力场的初始时刻开始计时,在渲染时长达到预设渲染时长时,即渲染完成,确定此渲染时长中各个时刻对应的图像帧组成的画面为粒子特效渲染结果。
另一方面,预设时段也可以是在渲染过程中用户随机调整的渲染时长,示例性的,在渲染过程中,用户可根据实时渲染情况,控制渲染过程的结束时刻,并确定粒子进入力场的初始时刻至该结束时刻之间的时段为预设时段,确定此时段中各个时刻对应的图像帧组成的画面为待渲染物体对应的粒子特效渲染结果。
图4为本公开实施例提供的粒子特效渲染方法的原理示意图一。如图4所示,以一个粒子为例,在第t时刻对应的图像帧中,该粒子处于位置P1,该粒子在位置P1受到的力的大小为F1,其中,F1的方向为朝向待渲染物体的表面的垂直方向。
在第t时刻,该粒子受到F1的影响,会朝着待渲染物体表面运动,在第t+1时刻,该粒子运行到了位置P2,在位置P2绘制出该粒子,即可获得第t+1图像帧的画面。
需要说明的是,本公开实施例中仅以一个粒子为例示出,其他粒子与之类似,此处不再赘述。
进一步的,每获得一个图像帧即在计算机系统的屏幕上显示该图像帧的画面,将预设时段中各时刻对应的图像帧组成的画面即待渲染物体对应的粒子特效渲染结果。
应当理解的是,随着时间的推移,由于力场中带渲染物体的表面位置对应的向量值为0,所有粒子会越来越靠近待渲染物体表面所在位置,最终会通过各粒子构成待渲染物体的形状。也即,该粒子特效渲染结果为各粒子动态的构成待渲染物体的形状的过程。
本公开实施例中,通过力场实现来实现粒子特效的渲染,实现粒子的动态渲染,从而获得更壮观的渲染效果,且以3D纹理贴图来表示待渲染物体的力场,可以快速的获取粒子在力场中相对于待渲染物体的位置,从而大幅提升粒子渲染效率。
另外,通过在GPU上利用shader进行计算,来模拟粒子运动,该过程支持的粒子数量较多,可以达到较壮观的力场效果,从而进一步提升粒子的渲染效果。
图5为本公开实施例提供的粒子特效渲染方法的流程示意图二。参考图5,本公开实施例提供的粒子特效渲染方法可以包括以下步骤:
S501、获取待渲染物体。
S502、获取待渲染物体对应的三维网格模型。
S503、基于三维网格模型,生成待渲染物体的力场。
S504、根据第t时刻的图像帧中粒子在力场中的第一位置对应的向量值,获得粒子在第一位置所受的力。
需要说明的时,该力场可以为向量场(vector field),也可以为向距离场(Signeddistance field)。
图6为本公开实施例提供的粒子特效渲染方法的原理示意图二。其中,图6中的力场可以为向量场和有向距离场中的任意一种,本公开实施例不做具体限定。
如图6所示,图6中的(a)图为第t时刻的图像帧中各粒子的渲染结果,对于该图像帧中的任一个粒子a,根据力场的3D纹理贴图,可以获取粒子a在力场中的第一位置。
进一步的,根据第一位置对应的向量值即可获得粒子a在第一位置时所受的力的大小。
一些实施例中,当力场为向量场时,粒子在该向量场中的第一位置所受的力即为第一位置对应的向量值。
在另一些实施例中,当力场为有向距离场时,在该有向距离场中还包括该位置距离物体表面的最近距离,则步骤S504具体包括:
(1)确定第一位置与待渲染物体表面的最近距离。
图6中的(b)图为粒子在第一位置时的力场截面示意图。如(b)图所示,力场截面1中包含多个像素((b)图中的每个网格表示一个像素),每个像素对应的最近距离不同。其中,物体表面1为力场截面中的待渲染物体的截面,每个像素对应的最近距离为该像素到物体表面1的最短距离。
(2)根据粒子在第一位置对应的向量值和最近距离,确定粒子在第一位置所受的力。
具体的,粒子a在第一位置所受的力F的大小为第一位置对应的向量值和最近距离的乘积,粒子a在第一位置所受的力F的方向为朝向该物体表面1。
S505、根据粒子在第一位置所受的力,获得第t+1时刻的图像帧中粒子在力场中的第二位置。
在本公开实施例中,步骤S505可以包括如下步骤S5051~S5053:
S5051、获取粒子的质量、粒子在第一位置的初始速度。
其中,粒子的质量是在生成粒子系统时设置的,在第一位置的初始速度与粒子进入力场后的时间相关,示例性的,若第t时刻为粒子进入力场后的第一时刻,则粒子在第一位置的初始速度为生成粒子系统时为粒子的设置的初始速度,若第t时刻非第一时刻,则粒子在第一位置的初始速度是根据粒子在第t-1时刻的速度、在第t-1时刻的受力大小计算得到的。
具体的,可以通过如下公式得出粒子在第一位置的初始速度Vt:
其中,Vt-1为粒子在第t-1时刻的速度,Ft-1为粒子在第t-1时刻所受的力,m为粒子的质量,Tt为第t时刻与第t-1时刻之间的时间差。
S5052、根据粒子在第一位置所受的力和粒子的质量,获得粒子在第一位置的加速度。
具体的,可以根据如下公式得出粒子在第一位置的加速度at:
其中,Ft为粒子在第一位置所受的力,m为粒子的质量,加速度的方向与Ft的方向一致。
本公开实施例中,粒子a在第一位置时,会受到Ft的影响,从而产生朝向物体表面1的加速度at,并根据该加速度向物体表面1运行。
S5053、根据粒子在第一位置的初始速度、加速度以及第t+1时刻的图像帧与第t时刻的图像帧的时间差,获得第t+1时刻的图像帧中粒子在力场中的第二位置。
具体的,可以通过如下公式获得粒子从第t时刻到第t+1时刻的位移St+1:
其中,Tt+1为第t时刻与第t+1时刻之间的时间差。
进一步的,可以根据位移St+1以及粒子a的第一位置,得出第t+1时刻的图像帧中粒子a在力场中的第二位置,如图6中的(c)图所示。
需要说明的是,粒子系统中其他粒子的第二位置的获取方式与粒子a类似,此处不再赘述。
S506、根据粒子在第t+1时刻的图像帧中的第二位置,渲染生成第t+1时刻的图像帧,以根据各图像帧,获得待渲染物体的粒子特效渲染结果。
进一步的,根据粒子系统中所有粒子的第二位置,绘制出各个粒子,即可获得如图6中(d)图所示的第t+1时刻的图像帧中各粒子的渲染结果。
应理解,在获得第t+1时刻的图像帧之后,可以采用相同的方式获得其他时刻的图像帧,由这些图像帧按时间顺序构成的视频即待渲染物体的粒子特效渲染结果。
应当理解的是,随着时间的推移,所有粒子会越来越靠近待渲染物体表面所在位置,最终会通过各粒子构成待渲染物体的形状。也即,该粒子特效渲染结果为各粒子动态的构成待渲染物体的形状的过程。
本公开的实施例中,通过获得待渲染物体的力场,并根据力场对待渲染物体进行粒子特效渲染,可以实现粒子的动态渲染,从而达到更壮观的渲染效果。另外,通过提供向量场和有向距离场两种渲染方式,可以使得本公开的方案能够灵活的应用与各种计算设备,提升开发效率。
对应于上文实施例所示的粒子特效渲染方法,图7为本公开实施例提供的粒子特效渲染装置的结构示意图。为了便于说明,仅示出了与本公开实施例相关的部分,如图7所示,该粒子特效渲染装置700包括:
第一获取模块701,用于获取待渲染物体;
生成模块702,用于基于待渲染物体,生成待渲染物体对应的力场,力场中包括一个或多个位置,该位置对应的向量值用于指示粒子在该位置时所受的力;
第二获取模块703,用于基于力场的3D纹理贴图,根据第t时刻的图像帧中粒子在力场中的第一位置对应的向量值,获得第t+1时刻的图像帧中粒子在力场中的第二位置,t为非负整数;渲染模块704,用于根据粒子在第t+1时刻的图像帧中的第二位置,渲染生成第t+1时刻的图像帧,以根据预设时段中各时刻对应的图像帧,获得待渲染物体的粒子特效渲染结果。
根据本公开的一个或多个实施例,第二获取模块703具体用于:根据粒子在第一位置对应的向量值,获得粒子在第一位置所受的力;根据粒子在第一位置所受的力,获得第t+1时刻的图像帧中粒子在力场中的第二位置。
根据本公开的一个或多个实施例,第二获取模块703具体用于:获取粒子的质量、粒子在第一位置的初始速度;根据粒子在第一位置所受的力和粒子的质量,获得粒子在第一位置的加速度;根据粒子在第一位置的初始速度、加速度以及目标图像帧与当前图像帧的时间差,获得第t+1时刻的图像帧中粒子在力场中的第二位置。
根据本公开的一个或多个实施例,力场包括向量场。
根据本公开的一个或多个实施例,力场包括有向距离场,有向距离场中还包括各位置与待渲染物体表面的最短距离;第二获取模块703还用于:确定第一位置与待渲染物体表面的最短距离;根据第一位置对应的最短距离和向量值,确定粒子在第一位置所受的力。
本公开实施例提供的上述粒子特效渲染装置,可用于执行上述粒子特效渲染方法的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本公开实施例提供的电子设备的结构示意图。其示出了适于用来实现本公开实施例的电子设备800的结构示意图,该电子设备800可以为上述终端设备或者服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(Personal Digital Assistant,简称PDA)、平板电脑(Portable Android Device,简称PAD)、便携式多媒体播放器(Portable Media Player,简称PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端;服务器可以是独立的服务器,或者,也可以是服务集群等,此处均不做限定。
应理解,图8示出的电子设备仅仅是一个示例,不应对本公开实施、例的功能和使用范围带来任何限制。
如图8所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(Read Only Memory,简称ROM)802中的程序或者从存储装置808加载到随机访问存储器(Random Access Memory,简称RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
通常,以下装置可以连接至I/O接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(Liquid CrystalDisplay,简称LCD)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从ROM 802被安装。在该计算机程序被处理装置801执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的粒子特效渲染方法。
一些实施例中,可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(Local Area Network,简称LAN)或广域网(Wide Area Network,简称WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
第一方面,根据本公开的一个或多个实施例,提供了一种粒子特效渲染方法,包括:
获取待渲染物体;基于所述待渲染物体,生成所述待渲染物体对应的力场,所述力场中各位置对应的向量值用于指示各位置的粒子所受的力;基于所述力场的3D纹理贴图,根据第t时刻的图像帧中粒子在所述力场中的第一位置对应的向量值,获得第t+1时刻的图像帧中所述粒子在所述力场中的第二位置,t为非负整数;根据所述粒子在所述第t+1时刻的图像帧中的第二位置,渲染生成所述第t+1时刻的图像帧,以根据预设时段中各时刻对应的图像帧,获得所述待渲染物体的粒子特效渲染结果。
根据本公开的一个或多个实施例,所述根据第t时刻的图像帧中粒子在所述力场中的第一位置对应的向量值,获得第t+1时刻的图像帧中所述粒子在所述力场中的第二位置,包括:根据所述粒子在所述第一位置对应的向量值,获得所述粒子在所述第一位置所受的力;根据所述粒子在第一位置所受的力,获得第t+1时刻的图像帧中所述粒子在所述力场中的第二位置。
根据本公开的一个或多个实施例,所述根据所述粒子在第一位置所受的力,获得第t+1时刻的图像帧中所述粒子在所述力场中的第二位置,包括:
获取所述粒子的质量、所述粒子在所述第一位置的初始速度;根据粒子在所述第一位置所受的力和所述粒子的质量,获得所述粒子在所述第一位置的加速度;根据所述粒子在所述第一位置的初始速度、所述加速度以及第t+1时刻的图像帧与第t时刻的图像帧的时间差,获得第t+1时刻的图像帧中所述粒子在所述力场中的第二位置。
根据本公开的一个或多个实施例,所述力场包括向量场。
根据本公开的一个或多个实施例,所述力场包括有向距离场,所述有向距离场中还包括各所述位置与所述待渲染物体表面的最短距离;
所述粒子特效渲染方法,还包括:确定所述第一位置与所述待渲染物体表面的最短距离;根据所述第一位置对应的最短距离和所述向量值,确定所述粒子在所述第一位置所受的力。
根据本公开的一个或多个实施例,所述基于所述待渲染物体,生成所述待渲染物体对应的力场,包括:获取所述待渲染物体对应的三维网格模型;基于所述三维网格模型,生成所述待渲染物体的力场。
第二方面,根据本公开的一个或多个实施例,提供了一种粒子特效渲染装置,包括:第一获取模块,用于获取待渲染物体;生成模块,用于基于所述待渲染物体,生成所述待渲染物体对应的力场,所述力场中包括一个或多个位置,所述位置对应的向量值用于指示粒子在所述位置时所受的力;
第二获取模块,用于基于所述力场的3D纹理贴图,根据第t时刻的图像帧中粒子在所述力场中的第一位置对应的向量值,获得第t+1时刻的图像帧中所述粒子在所述力场中的第二位置,t为非负整数;
渲染模块,用于根据所述粒子在所述第t+1时刻的图像帧中的第二位置,渲染生成所述第t+1时刻的图像帧,以根据预设时段中各时刻对应图像帧,获得所述待渲染物体的粒子特效渲染结果。
根据本公开的一个或多个实施例,第二获取模块703具体用于:根据粒子在第一位置对应的向量值,获得粒子在第一位置所受的力;根据粒子在第一位置所受的力,获得第t+1时刻的图像帧中粒子在力场中的第二位置。
根据本公开的一个或多个实施例,第二获取模块703具体用于:获取粒子的质量、粒子在第一位置的初始速度;根据粒子在第一位置所受的力和粒子的质量,获得粒子在第一位置的加速度;根据粒子在第一位置的初始速度、加速度以及第t+1时刻的图像帧与第t时刻的图像帧的时间差,获得第t+1时刻的图像帧中粒子在力场中的第二位置。
根据本公开的一个或多个实施例,力场包括向量场。
根据本公开的一个或多个实施例,力场包括有向距离场,有向距离场中还包括各位置与待渲染物体表面的最短距离;第二获取模块703还用于:确定第一位置与待渲染物体表面的最短距离;根据第一位置对应的最短距离和向量值,确定粒子在第一位置所受的力。
第三方面,根据本公开的一个或多个实施例,提供了一种电子设备,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面所述的粒子特效渲染方法。
第四方面,根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面所述的粒子特效渲染方法。
第五方面,根据本公开的一个或多个实施例,提供了一种程序产品,包括:计算机程序,其特征在于,该计算机程序被处理器执行时,实现如第一方面所述的粒子特效渲染方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (10)
1.一种粒子特效渲染方法,其特征在于,包括:获取待渲染物体;
基于所述待渲染物体,生成所述待渲染物体对应的力场,所述力场中包括一个或多个位置,所述位置对应的向量值用于指示粒子在所述位置时所受的力;
基于所述力场的3D纹理贴图,根据第t时刻的图像帧中粒子在所述力场中的第一位置对应的向量值,获得第t+1时刻的图像帧中所述粒子在所述力场中的第二位置,t为非负整数;
根据所述粒子在所述第t+1时刻的图像帧中的第二位置,渲染生成所述第t+1时刻的图像帧,以根据预设时段中各时刻对应的图像帧,获得所述待渲染物体的粒子特效渲染结果。
2.根据权利要求1所述的粒子特效渲染方法,其特征在于,所述根据第t时刻的图像帧中粒子在所述力场中的第一位置对应的向量值,获得第t+1时刻的图像帧中所述粒子在所述力场中的第二位置,包括:
根据所述粒子在所述第一位置对应的向量值,获得所述粒子在所述第一位置所受的力;
根据所述粒子在第一位置所受的力,获得第t+1时刻的图像帧中所述粒子在所述力场中的第二位置。
3.根据权利要求2所述的粒子特效渲染方法,其特征在于,所述根据所述粒子在第一位置所受的力,获得第t+1时刻的图像帧中所述粒子在所述力场中的第二位置,包括:
获取所述粒子的质量、所述粒子在所述第一位置的初始速度;
根据粒子在所述第一位置所受的力和所述粒子的质量,获得所述粒子在所述第一位置的加速度;
根据所述粒子在所述第一位置的初始速度、所述加速度以及第t+1时刻的图像帧与第t时刻的图像帧的时间差,获得第t+1时刻的图像帧中所述粒子在所述力场中的第二位置。
4.根据权利要求3所述的粒子特效渲染方法,其特征在于,所述力场包括向量场。
5.根据权利要求3所述的粒子特效渲染方法,其特征在于,所述力场包括有向距离场,所述有向距离场中还包括各所述位置与所述待渲染物体表面的最短距离;所述粒子特效渲染方法,还包括:
确定所述第一位置与所述待渲染物体表面的最短距离;
根据所述第一位置对应的最短距离和所述向量值,确定所述粒子在所述第一位置所受的力。
6.根据权利要求1至5中任一项所述的粒子特效渲染方法,其特征在于,所述基于所述待渲染物体,生成所述待渲染物体对应的力场,包括:
获取所述待渲染物体对应的三维网格模型;
基于所述三维网格模型,生成所述待渲染物体对应的力场。
7.一种粒子特效渲染装置,其特征在于,包括:
第一获取模块,用于获取待渲染物体;
生成模块,用于基于所述待渲染物体,生成所述待渲染物体对应的力场,所述力场中包括一个或多个位置,所述位置对应的向量值用于指示粒子在所述位置时所受的力;
第二获取模块,用于基于所述力场的3D纹理贴图,根据第t时刻的图像帧中粒子在所述力场中的第一位置对应的向量值,获得第t+1时刻的图像帧中所述粒子在所述力场中的第二位置,t为非负整数;
渲染模块,用于根据所述粒子在所述第t+1时刻的图像帧中的第二位置,渲染生成所述第t+1时刻的图像帧,以根据预设时段中各时刻对应的图像帧,获得所述待渲染物体的粒子特效渲染结果。
8.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至6中任一项所述的粒子特效渲染方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至6中任一项所述的粒子特效渲染方法。
10.一种程序产品,其特征在于,包括:计算机程序,其特征在于,该计算机程序被处理器执行时,实现如权利要求1至6中任一项所述的粒子特效渲染方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111582801.XA CN114219884A (zh) | 2021-12-22 | 2021-12-22 | 粒子特效渲染方法、装置、设备及存储介质 |
PCT/SG2022/050924 WO2023121569A2 (zh) | 2021-12-22 | 2022-12-22 | 粒子特效渲染方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111582801.XA CN114219884A (zh) | 2021-12-22 | 2021-12-22 | 粒子特效渲染方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114219884A true CN114219884A (zh) | 2022-03-22 |
Family
ID=80705089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111582801.XA Pending CN114219884A (zh) | 2021-12-22 | 2021-12-22 | 粒子特效渲染方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114219884A (zh) |
WO (1) | WO2023121569A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115578504A (zh) * | 2022-09-22 | 2023-01-06 | 中科三清科技有限公司 | 图像渲染方法、终端设备及介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8065127B2 (en) * | 2007-09-24 | 2011-11-22 | Siemens Corporation | Particle system architecture in a multi-body physics simulation |
CN103389387B (zh) * | 2013-07-05 | 2019-02-22 | 新奥特(北京)视频技术有限公司 | 一种粒子受到力作用的效果实现方法及装置 |
CN112270732A (zh) * | 2020-11-17 | 2021-01-26 | Oppo广东移动通信有限公司 | 粒子动画的生成方法、处理装置、电子设备和存储介质 |
CN113487474A (zh) * | 2021-07-02 | 2021-10-08 | 杭州小影创新科技股份有限公司 | 一种内容相关的gpu实时粒子特效方法 |
-
2021
- 2021-12-22 CN CN202111582801.XA patent/CN114219884A/zh active Pending
-
2022
- 2022-12-22 WO PCT/SG2022/050924 patent/WO2023121569A2/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115578504A (zh) * | 2022-09-22 | 2023-01-06 | 中科三清科技有限公司 | 图像渲染方法、终端设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023121569A3 (zh) | 2023-08-24 |
WO2023121569A2 (zh) | 2023-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220241689A1 (en) | Game Character Rendering Method And Apparatus, Electronic Device, And Computer-Readable Medium | |
CN112053449A (zh) | 基于增强现实的显示方法、设备及存储介质 | |
CN114494328B (zh) | 图像显示方法、装置、电子设备及存储介质 | |
CN111127603B (zh) | 动画生成方法、装置、电子设备及计算机可读存储介质 | |
WO2023193642A1 (zh) | 视频处理方法、装置、设备及介质 | |
WO2023151525A1 (zh) | 生成特效视频的方法、装置、电子设备及存储介质 | |
CN110930492B (zh) | 模型渲染的方法、装置、计算机可读介质及电子设备 | |
CN114219884A (zh) | 粒子特效渲染方法、装置、设备及存储介质 | |
CN112991444B (zh) | 位置确定方法及设备 | |
CN111368668B (zh) | 三维手部识别方法、装置、电子设备及存储介质 | |
CN112580213A (zh) | 电场线的显示图像的生成方法和装置、存储介质 | |
CN113163135A (zh) | 视频的动画添加方法、装置、设备及介质 | |
CN112308769A (zh) | 图像合成方法、设备及存储介质 | |
CN114067030A (zh) | 动态流体效果处理方法、装置、电子设备和可读介质 | |
CN115734001A (zh) | 特效显示方法、装置、电子设备及存储介质 | |
CN115578277A (zh) | 液体渲染方法、装置、设备、计算机可读存储介质及产品 | |
WO2023065913A1 (zh) | 通过粒子模拟物体运动的方法及设备 | |
CN115994968A (zh) | 特效处理方法及设备 | |
WO2023065947A1 (zh) | 特效处理方法及设备 | |
CN115809107A (zh) | 图像处理方法、装置、设备及存储介质 | |
WO2023065948A1 (zh) | 特效处理方法及设备 | |
US11836437B2 (en) | Character display method and apparatus, electronic device, and storage medium | |
CN112395826B (zh) | 文字特效处理方法及装置 | |
EP4290469A1 (en) | Mesh model processing method and apparatus, electronic device, and medium | |
CN115994851A (zh) | 特效处理方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |