集粒子特效的渲染方法、装置和电子设备与流程



1.本发明涉及软件设计技术领域,尤其是涉及一种集粒子特效的渲染方法、装置和电子设备。


背景技术:



2.游戏引擎技术发展越来越快,同时伴随着游戏效果的要求也越来越高。为了在游戏引擎中实现模型的集性粒子效果,相关技术中通过创建交叉面片来表现单个粒子的效果,最终合成一个模型导出来形成集效果,或者,通过引擎粒子生成粒子集效果。但是,通过交叉面片来表现单个粒子的效果,会增加模型中面片的面数,导致消耗较高,同时通过引擎粒子无法实现永久生命的常驻粒子,另外在粒子数量较多时,无法使每个粒子都朝向相机,且该方式消耗性较高、无法控制粒子分布。


技术实现要素:



3.本发明的目的在于提供一种集粒子特效的渲染方法、装置和电子设备,以降低了实现集性粒子效果的消耗,且在渲染出集性粒子效果的同时,使每个粒子均朝向虚拟相机。
4.第一方面,本发明提供了一种集粒子特效的渲染方法,该方法包括:获取待渲染的集粒子特效对应的模型和该模型对应的面片信息;其中,模型由多个面片组成,每个面片对应集粒子特效中的一个粒子;面片信息用于指示模型中面片的位置;基于面片信息,确定每个面片对应的目标贴图和每个面片相对于虚拟相机的旋转量;其中,该旋转量用于指示:面片从当前方向转向朝向虚拟相机的方向需要转动的量;根据面片对应的旋转量转动面片,将面片对应的目标贴图赋予面片,以渲染得到集粒子特效。
5.在可选的实施方式中,上述面片信息包括:模型中每个面片的位置坐标,以及每个面片被赋予的随机数;上述基于面片信息,确定每个面片对应的目标贴图和每个面片相对于虚拟相机的旋转量的步骤,包括:针对于模型中的每个面片,执行下述操作:基于当前面片被赋予的随机数,从预设的贴图集合中确定当前面片对应的目标贴图;根据当前面片的位置坐标,确定当前面片相对于虚拟相机的旋转量。
6.在可选的实施方式中,上述基于当前面片被赋予的随机数,从预设的贴图集合中确定当前面片对应的目标贴图的步骤,包括:根据当前面片被赋予的随机数,得到当前面片对应的映射值;基于该映射值,从贴图集合中选取当前面片对应的目标贴图。
7.在可选的实施方式中,上述基于映射值,从贴图集合中选取当前面片对应的目标贴图的步骤,包括:通过预设采样器,基于映射值对贴图集合进行随机采样,将采样得到的贴图确定为当前面片对应的目标贴图。
8.在可选的实施方式中,每个面片均包含有多个顶点;上述根据当前面片的位置坐标,确定当前面片相对于虚拟相机的旋转量的步骤,包括:确定当前面片中每个顶点对应的坐标和虚拟相机对应的相机矩阵;其中,相机矩阵用于指示虚拟相机的当前位置;基于当前
面片中每个顶点对应的坐标、相机矩阵和当前面片的位置坐标,得到当前面片相对于虚拟相机的旋转量。
9.在可选的实施方式中,上述当前面片的位置坐标包括:当前面片的中心轴的坐标;上述基于当前面片中每个顶点对应的坐标、相机矩阵和当前面片的位置坐标,得到当前面片相对于虚拟相机的旋转量的步骤,包括:将当前面片中每个顶点对应的坐标与相机矩阵相乘,得到当前面片中每个顶点对应的旋转坐标;将旋转坐标加上当前面片的中心轴的坐标,得到加和结果;将加和结果减去当前面片中每个顶点对应的坐标,得到差值,将差值确定为当前面片相对于虚拟相机的旋转量。
10.在可选的实施方式中,上述获取待渲染的集粒子特效对应的模型和模型对应的面片信息的步骤,包括:从预设模型制作软件中,导出集粒子特效对应的模型和模型对应的面片信息;其中,在预设模型制作软件中,根据集粒子特效预先设置好多个竖直面向的面片,并将多个竖直面向的面片合成模型。
11.在可选的实施方式中,上述面片信息包括:模型中每个面片的位置坐标,以及每个面片被赋予的随机数;从预设模型制作软件中,导出模型对应的面片信息的步骤,包括:通过预设插件,从预设模型制作软件中导出模型中每个面片的位置坐标,并在导出过程中为每个面片赋予随机数。
12.第二方面,本发明提供了一种集粒子特效的渲染装置,该装置包括:信息获取模块,用于获取待渲染的集粒子特效对应的模型和该模型对应的面片信息;其中,模型由多个面片组成,每个面片对应集粒子特效中的一个粒子;该面片信息用于指示模型中面片的位置;贴图确定模块,用于基于面片信息,确定每个面片对应的目标贴图和每个面片相对于虚拟相机的旋转量;其中,该旋转量用于指示:面片从当前方向转向朝向虚拟相机的方向需要转动的量;特效生成模块,用于根据面片对应的旋转量转动面片,将面片对应的目标贴图赋予面片,以渲染得到集粒子特效。
13.第三方面,本发明提供了一种电子设备,该电子设备包括处理器和存储器,该存储器存储有能够被处理器执行的机器可执行指令,该处理器执行机器可执行指令以实现上述集粒子特效的渲染方法。
14.第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述集粒子特效的渲染方法。
15.本发明实施例带来了以下有益效果:
16.本发明提供的一种集粒子特效的渲染方法、装置和电子设备,首先获取待渲染的集粒子特效对应的模型和该模型对应的面片信息;进而基于该面片信息,确定每个面片对应的目标贴图和每个面片相对于虚拟相机的旋转量,该旋转量用于指示面片从当前方向转向朝向虚拟相机的方向需要转动的量;然后根据面片对应的旋转量转动面片,将面片对应的目标贴图赋予面片,以渲染得到集粒子特效。该方式中,通过模型中的一个面片来表现单个粒子效果,使得粒子具有永久生命,且粒子大小及分布可控,在集包含有大量的粒子时,可以较低的消耗展现粒子集效果;同时,基于模型中面片的位置确定的转动量,来控制面片的方向始终朝向虚拟相机,有利于更好的展现集性粒子效果。
17.本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以
从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。
18.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
19.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1为本发明实施例提供的一种集粒子特效的渲染方法的流程图;
21.图2为本发明实施例提供的另一种集粒子特效的渲染方法的流程图;
22.图3为本发明实施例提供的另一种集粒子特效的渲染方法的流程图;
23.图4为本发明实施例提供的一种多个面片摆放的效果图;
24.图5为本发明实施例提供的一种制作好的集性星空效果的示意图;
25.图6为本发明实施例提供的一种集粒子特效的渲染装置的结构示意图;
26.图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
27.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
28.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.游戏引擎技术的发展越来越快,同时伴随着游戏效果的要求也越来越高,但是由于手机自身硬件的限制,往往需要研发人员退而求其次,在一些精细度上,消耗性上做妥协。另一方面,由于很多游戏公司的自研游戏引擎,仍然存在一定的限制,因而需要寻一些新的制作方法来弥补游戏引擎的不足。
30.相关技术中,大部分游戏引擎实现模型的集性粒子效果,包括下述两种方式:方式一是通过创建交叉面片,来表现集中单个粒子的效果,最终合成一个模型导出;方式二是通过引擎粒子生成集效果。
31.但上述两种方式存在以下不足:方式一中的交叉面片主要是为了解决各个面向都可以看到效果,但是无疑增加了面数,比如一个星点,本来只需要一个面片表现,若用该方式实现却多了3倍以上,同时效果也不完美,所以是一种高消耗,低表现的方式。方式二中通过引擎粒子表现集效果,问题也很明显,无法实现永久生命的常驻粒子,另外由于粒子的底层代码参数相对较多,所以粒子数量太多的情况下,消耗较高,且无法控制粒子分布;另外,由于引擎粒子无法在支持大数量面片中每个粒子都面向相机(该相机可以理解为游戏
中的镜头)的同时,保持粒子的无尽生命,且无法根据所需的形态摆放或者制作动画。如果粒子没有无尽生命的话,会影响模型的显示效果,也即是因为不确定集特效会被播放多久,为了避免特效粒子播放结束,需要将粒子严谨的设置成永久生命才可以。
32.基于上述问题,本发明实施例提供了一种集粒子特效的渲染方法、装置和电子设备;该技术可以用于集性粒子特效的播放场景中,尤其是游戏虚拟场景中的集性粒子特效的播放场景。
33.为了便于对本发明实施例进行理解,首先对本发明实施例所公开的一种集粒子特效的渲染方法进行详细介绍,该方法应用于游戏引擎;如图1所示,该方法包括如下具体步骤:
34.步骤s102,获取待渲染的集粒子特效对应的模型和该模型对应的面片信息;其中,模型由多个面片组成,每个面片对应集粒子特效中的一个粒子;面片信息用于指示模型中面片的位置。
35.渲染集粒子特效需要大量的粒子实现,实现集粒子特效首先需要创建相应的模型,该模型通常是在模型制作软件上制作完成的,且在制作的过程中模型是由多个面片合并成的,该模型中面片的数量与集粒子特效中的粒子数量相同。具体地,集粒子特效可以制作出数量巨大的粒子,例如,银河系、科技点、烟花、陨石或者爆炸碎片等。本发明中通过模型中的一个面片来表现单个粒子效果,使得粒子具有永久生命,且粒子大小及分布可以根据用户需求进行任意设置,也即是用户可以通过改变面片的位置和面片对应的贴图,来改变子的大小、分布和样式。
36.在具体实现时,模型和模型对应的面片信息均是从模型制作软件导出至游戏引擎的,以使游戏引擎可以获取到模型和该模型对应的面片信息,该面片信息中保存有模型中的每个面片在模型中的相对位置,相对位置可以是每个面片相对于指定原点(该指定原点可以是模型制作软件中的固定原点)的坐标,也可以是每个面片的中心轴的坐标等。
37.步骤s104,基于上述面片信息,确定每个面片对应的目标贴图和每个面片相对于虚拟相机的旋转量;其中,该旋转量用于指示:面片从当前方向转向朝向虚拟相机的方向需要转动的量。
38.在具体实现时,可以基于面片信息,从集粒子特效对应的贴图集合中,确定模型中每个面片对应的贴图,其中,该贴图集合中通常包含有多个贴图,每个贴图中所包含的图案不同。根据面片信息中每个面片的位置,还可以确定模型当前与虚拟相机的相对位置关系,根据该相对位置关系可以确定出面片从当前方向转向朝向虚拟相机的方向所需的旋转量。
39.在实际应用中,只有模型中每个面片的方向都是朝向虚拟相机的(也可以称为面片是面向虚拟相机的),游戏画面中才可以展现出每个画面对应的贴图的效果。面片面向虚拟相机,实际上是面片的法线与虚拟相机的镜头所在平面垂直,以使虚拟相机可以播放每个面片对应的贴图。
40.步骤s106,根据面片对应的旋转量转动面片,将面片对应的目标贴图赋予面片,以渲染得到集粒子特效。
41.在确定出模型中的每个面片对应的旋转量后,游戏引擎可以根据旋转量转动面片,以使每个面片均面向虚拟相机,进而通过虚拟相机可以展现出每个面片均被赋予有目
标贴图,且每个面片都面向虚拟相机的集粒子特效。
42.本发明实施例提供的一种集粒子特效的渲染方法,首先获取待渲染的集粒子特效对应的模型和该模型对应的面片信息;进而基于该面片信息,确定每个面片对应的目标贴图和每个面片相对于虚拟相机的旋转量,该旋转量用于指示面片从当前方向转向朝向虚拟相机的方向需要转动的量;然后根据面片对应的旋转量转动面片,将面片对应的目标贴图赋予面片,以渲染得到集粒子特效。该方式中,通过模型中的一个面片来表现单个粒子效果,使得粒子具有永久生命,且粒子大小及分布可控,在集包含有大量的粒子时,可以较低的消耗展现粒子集效果;同时,基于模型中面片的位置确定的转动量,来控制面片的方向始终朝向虚拟相机,有利于更好的展现集性粒子效果。
43.本发明实施例还提供了另一种集粒子特效的渲染方法,该方法在上述实施例的基础上实现,该方法重点描述基于面片信息,确定每个面片对应的目标贴图和每个面片相对于虚拟相机的旋转量的具体过程(具体通过下述步骤s204实现);如图2所示,该方法包括如下具体步骤:
44.步骤s202,获取待渲染的集粒子特效对应的模型和该模型对应的面片信息;其中,该面片信息包括:模型中每个面片的位置坐标,以及每个面片被赋予的随机数。
45.在具体实现时,面片信息可以用exr格式的图像(下文简称为exr图像)表示,该exr图像的rgb(red,红;green,绿;blue,蓝)通道对应直角坐标系的xyz轴,因而,exr图像的像素rgb值对应了面片的位置信息(也即是一个像素点的rgb值对应一个面片的位置信息,该位置信息为rgb值在直角坐标系中对应的坐标值),该exr图像的a通道(也即是alpha通道)中存储有每个面片被赋予的随机数,该随机数可以是0-1之间的随机值。
46.步骤s204,针对于模型中的每个面片,基于当前面片被赋予的随机数,从预设的贴图集合中确定当前面片对应的目标贴图;根据当前面片的位置坐标,确定当前面片相对于虚拟相机的旋转量。
47.为了得到集粒子特效,需要预先设置好贴图集合,该贴图集合通常是由美术人员提前绘制好的。该贴图集合中包含有多个贴图,每个贴图对应的图案不同。具体地,用户可以根据需求,利用submeshbillboard材质设置贴图集合中所包含的贴图个数,以及每个贴图对应的图案。
48.在具体实现时,可以根据每个面片被赋予的随机数,从贴图集合中随机选择贴图作为面片的目标贴图,该目标贴图用于粘贴在相应的面片上。基于面片的位置坐标可以确定每个面片与虚拟相机的相对位置关系,根据该相对位置关系可以确定出面片面向虚拟相机时需要转动的旋转量。
49.在实际应用中,可以通过下述步骤10-11从贴图集合中确定当前面片对应的目标贴图,其中,当前面片为模型所包含的所有面片中的任意一个面片:
50.步骤10,根据当前面片被赋予的随机数,得到当前面片对应的映射值。
51.游戏引擎可以根据当前面片被赋予的随机数,通过预设的随机函数返回一个映射值(也可以称为uv值),返回的映射值也即是当前面片对应的映射值。
52.步骤11,基于上述映射值,从贴图集合中选取当前面片对应的目标贴图。
53.在具体实现时,可以基于映射值对贴图集合中所包含的贴图进行采样,以从贴图集合中随机选取一个贴图作为当前面片的目标贴图。
54.在一些实施例中,还可以通过预设采样器,基于映射值对贴图集合进行随机采样,将采样得到的贴图确定为当前面片对应的目标贴图。具体地,该预设采样器通常是在游戏引擎中提前设置好的采样器,该采样器可以采用游戏引擎中的texturesample或者其他采样器,具体根据研发需求进行设置。
55.在实际应用中,每个面片均包含有多个顶点,因而可以通过下述步骤20-21确定当前面片相对于虚拟相机的旋转量,其中,当前面片为模型所包含的所有面片中的任意一个面片:
56.步骤20,确定当前面片中每个顶点对应的坐标和虚拟相机对应的相机矩阵;其中,相机矩阵用于指示虚拟相机的当前位置。
57.在具体实现时,上述顶点对应的坐标可以是世界坐标,也可以是模型空间中的相对坐标或观察空间的坐标。
58.具体地,游戏引擎可以将获取到的模型放置在虚拟场景中,该虚拟场景位于世界坐标系下,也即是模型会被游戏引擎放置于世界坐标系下,进而可以得到模型中每个面片的顶点的世界坐标。
59.游戏引擎还可以提供虚拟相机的相机矩阵,该相机矩阵可以表征虚拟相机的镜头的位置,通常该矩阵还包含有旋转信息,该旋转信息与使面片面向虚拟相机的旋转量的信息相同(由游戏引擎机制决定),从而根据该相机矩阵可以算出面片面向虚拟相机的旋转量。
60.步骤21,基于当前面片中每个顶点对应的坐标、相机矩阵和当前面片的位置坐标,得到当前面片相对于虚拟相机的旋转量。
61.在具体实现时,当前面片的位置坐标可以包括:当前面片的中心轴的坐标;上述步骤21可以通过下述步骤30-32实现:
62.步骤30,将当前面片中每个顶点对应的坐标与相机矩阵相乘,得到当前面片中每个顶点对应的旋转坐标。
63.步骤31,将旋转坐标加上当前面片的中心轴的坐标,得到加和结果。
64.将当前面片的旋转坐标机上当前面片的中心轴的坐标,可保证当前面片旋转时,当前面片的旋转轴与当前面片的中心轴在同一位置上。
65.步骤22,将上述加和结果减去当前面片中每个顶点对应的坐标,得到差值,将该差值确定为当前面片相对于虚拟相机的旋转量。
66.步骤s206,根据面片对应的旋转量转动面片,将面片对应的目标贴图赋予面片,以渲染得到集粒子特效。
67.在具体实现时,将每个面片对应的旋转量输入到游戏引擎的worldpositionoffset接口,接下来即可由游戏引擎自动完成对面片的旋转操作,以使每个面片均面向虚拟相机。
68.上述集粒子特效的渲染方法,首先获取待渲染的集粒子特效对应的模型和该模型对应的面片信息,该面片信息包括:模型中每个面片的位置坐标,以及每个面片被赋予的随机数;进而针对于模型中的每个面片,基于当前面片被赋予的随机数,从预设的贴图集合中确定当前面片对应的目标贴图;根据当前面片的位置坐标,确定当前面片相对于虚拟相机的旋转量;然后根据面片对应的旋转量转动面片,将面片对应的目标贴图赋予面片,以
渲染得到集粒子特效。该制作集性粒子特效的方式较为方便简单,仅1个dp以最少面片数即可实现特效,节省了消耗,同时也解决引擎无法在每个粒子都面向虚拟相机的同时,使用大量无尽生命粒子的限制以及大量公告板层级的缺点,且该方式未来可扩展度高。
69.本发明实施例还提供了另一种集粒子特效的渲染方法,该方法在上述实施例的基础上实现,该方法重点描述获取待渲染的集粒子特效对应的模型和该模型对应的面片信息的具体过程(具体通过下述步骤s302-s304实现);如图3所示,该方法包括如下具体步骤:
70.步骤s302,在预设模型制作软件中,根据集粒子特效预先设置好多个竖直面向的面片,并将多个竖直面向的面片合成模型。
71.上述预设模型制作软件可以是现有的3d模型制作软件,例如,预设模型制作软件可以选用3dmax软件。首先根据需要制作的集粒子特效,在预设模型制作软件中摆好多个竖直面向的面片,并将摆好的面片合成一个模型。
72.在一些实施例中,在预设模型制作软件中摆放面片时,面片需要竖直放置,且每个面片均为正方形,面片uv的0通道平铺,占满uv格,uv的1通道通常是用来提取面片信息的,在摆放面片时不使用。在合成模型之前,每个面片还需要转换成可编辑的多边形,以使用户对面片进行编辑操作。如图4所示为本发明实施例提供的一种多个面片摆放的效果图;图4中每一个正方形即为一个面片,图4中是大量的面片摆放后的效果。
73.在预设模型制作软件中可以为模型设置多个uv,uv的作用是存储模型与各个面片的面片信息的映射关系,用户可自定义uv来读取模型中不同面片的信息。
74.步骤s304,从预设模型制作软件中,导出集粒子特效对应的模型和该模型对应的面片信息;其中,面片信息包括:模型中每个面片的位置坐标,以及每个面片被赋予的随机数。
75.在具体实现时,可以通过预设插件,从预设模型制作软件中导出模型中每个面片的位置坐标,并在导出过程中为每个面片赋予随机数,该随机数通常是插件自动随机生成的;也即是模型对应的面片信息是通过预设插件导入到游戏引擎中的。在一些实施例中,上述预设插件可以根据用户需求选定,例如,可以选择开源的pivot painter插件。
76.步骤s306,针对于模型中的每个面片,基于当前面片被赋予的随机数,从预设的贴图集合中确定当前面片对应的目标贴图;根据当前面片的位置坐标,确定当前面片相对于虚拟相机的旋转量。
77.步骤s308,根据面片对应的旋转量转动面片,将面片对应的目标贴图赋予面片,以渲染得到集粒子特效。
78.为了便于对本发明实施例进行理解,以制作集性星空效果为例,对本发明实施例进行详细介绍。该实例中的预设模型制作软件选用3dmax,该3dmax可以创建竖直面向的单个面片,然后用户就可以复制面片,来自由摆放。首先用户可根据实际情况,在3dmax中摆放多个竖直面向的面片,再通过3dmax的合并功能,将摆放好的面片一次性批量合为一个模型,并输出该模型至游戏引擎。然后通过pivot painter插件从3dmax中导出该模型的exr图像(相当于上述面片信息),该exr图像中包含有模型所有面片的位置信息,以及每个面片在a通道中对应的随机数(这个随机数是插件自动随机生成的)。然后游戏引擎可以根据每个面片在a通道中对应的随机数,确定该面片对应的映射值,根据每个面片对应的映射值,可
从预设星空贴图集(该预设星空贴图集中包含有多个星空贴图,每个星空贴图对应一种星星形状)中随机选取一个星星形状,从而可以得到每个面片对应的星星形状。
79.然后,针对模型中的每个面片,确定当前面片的所有顶点的世界坐标,将当前面片的所有顶点的世界坐标与相机矩阵(该相机矩阵由游戏引擎根据虚拟相机当前的位置提供)相乘,得到旋转后的所有顶点的世界坐标(相当于旋转坐标);然后将旋转后的所有顶点的世界坐标加上当前面片的中心轴的坐标,得到加和结果;将加和结果减去最开始得到的所有顶点的世界坐标,得到一个差值,该差值即可当前面片的旋转量,将该旋转量输入到游戏引擎的worldpositionoffset接口,接下来即可由引擎自动完成旋转操作,以使每个面片均面向虚拟相机。
80.在实际应用中,相机矩阵是与虚拟相机的位置有关的,当虚拟相机旋转时(例如,虚拟相机向右转动一个角度),这个相机矩阵也会变化。在虚拟相机旋转的时候,面片会重新计算旋转量,以使根据重新计算得到的旋转量旋转面片,从而使得面片一直面向虚拟相机,也即是虚拟相机中总能显示出每个面片对应的星星形状。如图5所示为制作好的集性星空效果的示意图,图5中包含有多个星点,每个星点对应的形状和大小可能相同也可能不同,且每个星点对应一个面片,所有顶点仅使用一个模型即可,在不同角度的旋转动画下,保证每个星点都能面向虚拟相机。
81.在特效系统中,公告板其实就是一张面片,一般制作的时候,如果像星河用公告板制作的话,需要手动一个一个创建,做出来的特效里会包含巨大的数量级,这样无疑增加大量的工作量和消耗度,基本上是行不通的。通过本发明中多个面片合并成一个模型,然后通过导出模型的面片信息,让这个模型里的所有面片自动面向虚拟相机,可以解决一些需要分很多公告板特效层来表现的问题,减少了层级的使用。
82.上述集粒子特效的渲染方法,解决了无法使用大量无尽生命粒子的限制以及大量公告板层级的缺点,且该方式在制作集粒子特效时消耗性低,可以超巨量使用面片来表现集性面向虚拟相机的粒子效果;而且使用者可以随心所欲对材质(相当于贴图集中的贴图)进行编辑,增加了各类拓展效果。
83.对应于上述方法实施例,本发明实施例还提供了一种集粒子特效的渲染装置,如图6所示,该装置包括:
84.信息获取模块50,用于获取待渲染的集粒子特效对应的模型和该模型对应的面片信息;其中,模型由多个面片组成,每个面片对应集粒子特效中的一个粒子;该面片信息用于指示模型中面片的位置。
85.贴图确定模块51,用于基于面片信息,确定每个面片对应的目标贴图和每个面片相对于虚拟相机的旋转量;其中,该旋转量用于指示:面片从当前方向转向朝向虚拟相机的方向需要转动的量。
86.特效生成模块52,用于根据面片对应的旋转量转动面片,将该面片对应的目标贴图赋予面片,以渲染得到集粒子特效。
87.上述集粒子特效的渲染装置,首先获取待渲染的集粒子特效对应的模型和该模型对应的面片信息;进而基于该面片信息,确定每个面片对应的目标贴图和每个面片相对于虚拟相机的旋转量,该旋转量用于指示面片从当前方向转向朝向虚拟相机的方向需要转动的量;然后根据面片对应的旋转量转动面片,将面片对应的目标贴图赋予面片,以渲染
得到集粒子特效。该方式中,通过模型中的一个面片来表现单个粒子效果,使得粒子具有永久生命,且粒子大小及分布可控,在集包含有大量的粒子时,可以较低的消耗展现粒子集效果;同时,基于模型中面片的位置确定的转动量,来控制面片的方向始终朝向虚拟相机,有利于更好的展现集性粒子效果。
88.具体地,上述面片信息包括:模型中每个面片的位置坐标,以及每个面片被赋予的随机数;上述贴图确定模块51,包括:贴图确定单元,用于针对于模型中的每个面片,基于当前面片被赋予的随机数,从预设的贴图集合中确定当前面片对应的目标贴图;旋转量确定单元,用于根据当前面片的位置坐标,确定当前面片相对于虚拟相机的旋转量。
89.进一步地,上述贴图确定单元,还用于:根据当前面片被赋予的随机数,得到当前面片对应的映射值;基于该映射值,从贴图集合中选取当前面片对应的目标贴图。
90.在具体实现时,上述贴图确定单元,还用于:通过预设采样器,基于映射值对贴图集合进行随机采样,将采样得到的贴图确定为当前面片对应的目标贴图。
91.进一步地,每个面片均包含有多个顶点;上述旋转量确定单元,用于:确定当前面片中每个顶点对应的坐标和虚拟相机对应的相机矩阵;其中,相机矩阵用于指示虚拟相机的当前位置;基于当前面片中每个顶点对应的坐标、相机矩阵和当前面片的位置坐标,得到当前面片相对于虚拟相机的旋转量。
92.具体地,上述当前面片的位置坐标包括:当前面片的中心轴的坐标;上述旋转量确定单元,还用于:将当前面片中每个顶点对应的坐标与相机矩阵相乘,得到当前面片中每个顶点对应的旋转坐标;将旋转坐标加上当前面片的中心轴的坐标,得到加和结果;将加和结果减去当前面片中每个顶点对应的坐标,得到差值,将该差值确定为当前面片相对于虚拟相机的旋转量。
93.进一步地,上述贴图确定模块51,用于:从预设模型制作软件中,导出集粒子特效对应的模型和模型对应的面片信息;其中,在预设模型制作软件中,根据集粒子特效预先设置好多个竖直面向的面片,并将多个竖直面向的面片合成模型。
94.在具体实现时,上述面片信息包括:模型中每个面片的位置坐标,以及每个面片被赋予的随机数;上述贴图确定模块51,还用于:通过预设插件,从预设模型制作软件中导出模型中每个述面片的位置坐标,并在导出过程中为每个面片赋予随机数。
95.本发明实施例所提供的集粒子特效的渲染装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
96.本发明实施例还提供了一种电子设备,如图7所示,该电子设备包括处理器和存储器,该存储器存储有能够被处理器执行的机器可执行指令,该处理器执行机器可执行指令以实现上述集粒子特效的渲染方法。
97.具体地,该集粒子特效的渲染方法包括:获取待渲染的集粒子特效对应的模型和该模型对应的面片信息;其中,模型由多个面片组成,每个面片对应集粒子特效中的一个粒子;面片信息用于指示模型中面片的位置;基于面片信息,确定每个面片对应的目标贴图和每个面片相对于虚拟相机的旋转量;其中,该旋转量用于指示:面片从当前方向转向朝向虚拟相机的方向需要转动的量;根据面片对应的旋转量转动面片,将面片对应的目标贴图赋予面片,以渲染得到集粒子特效。
98.上述集粒子特效的渲染方法可以通过模型中的一个面片来表现单个粒子效果,使得粒子具有永久生命,且粒子大小及分布可控,在集包含有大量的粒子时,可以较低的消耗展现粒子集效果;同时,基于模型中面片的位置确定的转动量,来控制面片的方向始终朝向虚拟相机,有利于更好的展现集性粒子效果。
99.在可选的实施方式中,上述面片信息包括:模型中每个面片的位置坐标,以及每个面片被赋予的随机数;上述基于面片信息,确定每个面片对应的目标贴图和每个面片相对于虚拟相机的旋转量的步骤,包括:针对于模型中的每个面片,执行下述操作:基于当前面片被赋予的随机数,从预设的贴图集合中确定当前面片对应的目标贴图;根据当前面片的位置坐标,确定当前面片相对于虚拟相机的旋转量。
100.在可选的实施方式中,上述基于当前面片被赋予的随机数,从预设的贴图集合中确定当前面片对应的目标贴图的步骤,包括:根据当前面片被赋予的随机数,得到当前面片对应的映射值;基于该映射值,从贴图集合中选取当前面片对应的目标贴图。
101.在可选的实施方式中,上述基于映射值,从贴图集合中选取当前面片对应的目标贴图的步骤,包括:通过预设采样器,基于映射值对贴图集合进行随机采样,将采样得到的贴图确定为当前面片对应的目标贴图。
102.在可选的实施方式中,每个面片均包含有多个顶点;上述根据当前面片的位置坐标,确定当前面片相对于虚拟相机的旋转量的步骤,包括:确定当前面片中每个顶点对应的坐标和虚拟相机对应的相机矩阵;其中,相机矩阵用于指示虚拟相机的当前位置;基于当前面片中每个顶点对应的坐标、相机矩阵和当前面片的位置坐标,得到当前面片相对于虚拟相机的旋转量。
103.在可选的实施方式中,上述当前面片的位置坐标包括:当前面片的中心轴的坐标;上述基于当前面片中每个顶点对应的坐标、相机矩阵和当前面片的位置坐标,得到当前面片相对于虚拟相机的旋转量的步骤,包括:将当前面片中每个顶点对应的坐标与相机矩阵相乘,得到当前面片中每个顶点对应的旋转坐标;将旋转坐标加上当前面片的中心轴的坐标,得到加和结果;将加和结果减去当前面片中每个顶点对应的坐标,得到差值,将差值确定为当前面片相对于虚拟相机的旋转量。
104.在可选的实施方式中,上述获取待渲染的集粒子特效对应的模型和模型对应的面片信息的步骤,包括:从预设模型制作软件中,导出集粒子特效对应的模型和模型对应的面片信息;其中,在预设模型制作软件中,根据集粒子特效预先设置好多个竖直面向的面片,并将多个竖直面向的面片合成模型。
105.在可选的实施方式中,上述面片信息包括:模型中每个面片的位置坐标,以及每个面片被赋予的随机数;从预设模型制作软件中,导出模型对应的面片信息的步骤,包括:通过预设插件,从预设模型制作软件中导出模型中每个面片的位置坐标,并在导出过程中为每个面片赋予随机数。
106.进一步地,图7所示的电子设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
107.其中,存储器100可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信
连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
108.处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。
109.本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述集粒子特效的渲染方法,具体实现可参见方法实施例,在此不再赘述。
110.具体地,该集粒子特效的渲染方法包括:获取待渲染的集粒子特效对应的模型和该模型对应的面片信息;其中,模型由多个面片组成,每个面片对应集粒子特效中的一个粒子;面片信息用于指示模型中面片的位置;基于面片信息,确定每个面片对应的目标贴图和每个面片相对于虚拟相机的旋转量;其中,该旋转量用于指示:面片从当前方向转向朝向虚拟相机的方向需要转动的量;根据面片对应的旋转量转动面片,将面片对应的目标贴图赋予面片,以渲染得到集粒子特效。
111.上述集粒子特效的渲染方法可以通过模型中的一个面片来表现单个粒子效果,使得粒子具有永久生命,且粒子大小及分布可控,在集包含有大量的粒子时,可以较低的消耗展现粒子集效果;同时,基于模型中面片的位置确定的转动量,来控制面片的方向始终朝向虚拟相机,有利于更好的展现集性粒子效果。
112.在可选的实施方式中,上述面片信息包括:模型中每个面片的位置坐标,以及每个面片被赋予的随机数;上述基于面片信息,确定每个面片对应的目标贴图和每个面片相对于虚拟相机的旋转量的步骤,包括:针对于模型中的每个面片,执行下述操作:基于当前面片被赋予的随机数,从预设的贴图集合中确定当前面片对应的目标贴图;根据当前面片的位置坐标,确定当前面片相对于虚拟相机的旋转量。
113.在可选的实施方式中,上述基于当前面片被赋予的随机数,从预设的贴图集合中确定当前面片对应的目标贴图的步骤,包括:根据当前面片被赋予的随机数,得到当前面片对应的映射值;基于该映射值,从贴图集合中选取当前面片对应的目标贴图。
114.在可选的实施方式中,上述基于映射值,从贴图集合中选取当前面片对应的目标
贴图的步骤,包括:通过预设采样器,基于映射值对贴图集合进行随机采样,将采样得到的贴图确定为当前面片对应的目标贴图。
115.在可选的实施方式中,每个面片均包含有多个顶点;上述根据当前面片的位置坐标,确定当前面片相对于虚拟相机的旋转量的步骤,包括:确定当前面片中每个顶点对应的坐标和虚拟相机对应的相机矩阵;其中,相机矩阵用于指示虚拟相机的当前位置;基于当前面片中每个顶点对应的坐标、相机矩阵和当前面片的位置坐标,得到当前面片相对于虚拟相机的旋转量。
116.在可选的实施方式中,上述当前面片的位置坐标包括:当前面片的中心轴的坐标;上述基于当前面片中每个顶点对应的坐标、相机矩阵和当前面片的位置坐标,得到当前面片相对于虚拟相机的旋转量的步骤,包括:将当前面片中每个顶点对应的坐标与相机矩阵相乘,得到当前面片中每个顶点对应的旋转坐标;将旋转坐标加上当前面片的中心轴的坐标,得到加和结果;将加和结果减去当前面片中每个顶点对应的坐标,得到差值,将差值确定为当前面片相对于虚拟相机的旋转量。
117.在可选的实施方式中,上述获取待渲染的集粒子特效对应的模型和模型对应的面片信息的步骤,包括:从预设模型制作软件中,导出集粒子特效对应的模型和模型对应的面片信息;其中,在预设模型制作软件中,根据集粒子特效预先设置好多个竖直面向的面片,并将多个竖直面向的面片合成模型。
118.在可选的实施方式中,上述面片信息包括:模型中每个面片的位置坐标,以及每个面片被赋予的随机数;从预设模型制作软件中,导出模型对应的面片信息的步骤,包括:通过预设插件,从预设模型制作软件中导出模型中每个面片的位置坐标,并在导出过程中为每个面片赋予随机数。
119.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
120.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
121.最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护
范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

技术特征:


1.一种集粒子特效的渲染方法,其特征在于,所述方法包括:获取待渲染的集粒子特效对应的模型和所述模型对应的面片信息;其中,所述模型由多个面片组成,每个所述面片对应所述集粒子特效中的一个粒子;所述面片信息用于指示所述模型中面片的位置;基于所述面片信息,确定每个所述面片对应的目标贴图和每个所述面片相对于虚拟相机的旋转量;其中,所述旋转量用于指示:所述面片从当前方向转向朝向虚拟相机的方向需要转动的量;根据所述面片对应的旋转量转动所述面片,将所述面片对应的目标贴图赋予所述面片,以渲染得到所述集粒子特效。2.根据权利要求1所述的方法,其特征在于,所述面片信息包括:所述模型中每个所述面片的位置坐标,以及每个所述面片被赋予的随机数;所述基于所述面片信息,确定每个所述面片对应的目标贴图和每个所述面片相对于虚拟相机的旋转量的步骤,包括:针对于所述模型中的每个所述面片,执行下述操作:基于当前面片被赋予的随机数,从预设的贴图集合中确定所述当前面片对应的目标贴图;根据所述当前面片的位置坐标,确定所述当前面片相对于所述虚拟相机的旋转量。3.根据权利要求2所述的方法,其特征在于,所述基于当前面片被赋予的随机数,从预设的贴图集合中确定所述当前面片对应的目标贴图的步骤,包括:根据所述当前面片被赋予的随机数,得到所述当前面片对应的映射值;基于所述映射值,从所述贴图集合中选取所述当前面片对应的目标贴图。4.根据权利要求3所述的方法,其特征在于,所述基于所述映射值,从所述贴图集合中选取所述当前面片对应的目标贴图的步骤,包括:通过预设采样器,基于所述映射值对所述贴图集合进行随机采样,将采样得到的贴图确定为所述当前面片对应的目标贴图。5.根据权利要求2所述的方法,其特征在于,每个所述面片均包含有多个顶点;所述根据所述当前面片的位置坐标,确定所述当前面片相对于所述虚拟相机的旋转量的步骤,包括:确定所述当前面片中每个顶点对应的坐标和所述虚拟相机对应的相机矩阵;其中,所述相机矩阵用于指示所述虚拟相机的当前位置;基于所述当前面片中每个顶点对应的坐标、所述相机矩阵和所述当前面片的位置坐标,得到所述当前面片相对于所述虚拟相机的旋转量。6.根据权利要求5所述的方法,其特征在于,所述当前面片的位置坐标包括:所述当前面片的中心轴的坐标;所述基于所述当前面片中每个顶点对应的坐标、所述相机矩阵和所述当前面片的位置坐标,得到所述当前面片相对于所述虚拟相机的旋转量的步骤,包括:将所述当前面片中每个顶点对应的坐标与所述相机矩阵相乘,得到所述当前面片中每个顶点对应的旋转坐标;将所述旋转坐标加上所述当前面片的中心轴的坐标,得到加和结果;
将所述加和结果减去所述当前面片中每个顶点对应的坐标,得到差值,将所述差值确定为所述当前面片相对于所述虚拟相机的旋转量。7.根据权利要求1所述的方法,其特征在于,所述获取待渲染的集粒子特效对应的模型和所述模型对应的面片信息的步骤,包括:从预设模型制作软件中,导出所述集粒子特效对应的模型和所述模型对应的面片信息;其中,在所述预设模型制作软件中,根据所述集粒子特效预先设置好多个竖直面向的面片,并将所述多个竖直面向的面片合成模型。8.根据权利要求7所述的方法,其特征在于,所述面片信息包括:所述模型中每个所述面片的位置坐标,以及每个所述面片被赋予的随机数;从预设模型制作软件中,导出所述模型对应的面片信息的步骤,包括:通过预设插件,从所述预设模型制作软件中导出所述模型中每个所述面片的位置坐标,并在导出过程中为每个所述面片赋予随机数。9.一种集粒子特效的渲染装置,其特征在于,所述装置包括:信息获取模块,用于获取待渲染的集粒子特效对应的模型和所述模型对应的面片信息;其中,所述模型由多个面片组成,每个所述面片对应所述集粒子特效中的一个粒子;所述面片信息用于指示所述模型中面片的位置;贴图确定模块,用于基于所述面片信息,确定每个所述面片对应的目标贴图和每个所述面片相对于虚拟相机的旋转量;其中,所述旋转量用于指示:所述面片从当前方向转向朝向虚拟相机的方向需要转动的量;特效生成模块,用于根据所述面片对应的旋转量转动所述面片,将所述面片对应的目标贴图赋予所述面片,以渲染得到所述集粒子特效。10.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1至8任一项所述的集粒子特效的渲染方法。11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使所述处理器实现权利要求1至8任一项所述的集粒子特效的渲染方法。

技术总结


本发明提供了一种集粒子特效的渲染方法、装置和电子设备,获取待渲染的集粒子特效对应的模型和该模型对应的面片信息;基于该面片信息,确定每个面片对应的目标贴图和每个面片相对于虚拟相机的旋转量,该旋转量用于指示面片从当前方向转向朝向虚拟相机的方向需要转动的量;根据面片对应的旋转量转动面片,将面片对应的目标贴图赋予面片,以渲染得到集粒子特效。该方式中,通过模型中的一个面片来表现单个粒子效果,使得粒子具有永久生命,且粒子大小及分布可控,在集包含有大量的粒子时,可以较低的消耗展现粒子集效果;同时,基于模型中面片的位置确定的转动量,来控制面片的方向始终朝向虚拟相机,有利于更好的展现集性粒子效果。集性粒子效果。集性粒子效果。


技术研发人员:

陈纾 肖威威

受保护的技术使用者:

网易(杭州)网络有限公司

技术研发日:

2022.06.15

技术公布日:

2022/11/8

本文发布于:2024-09-23 04:27:15,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/45250.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:粒子   模型   集群   所述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议