从Cascade到Niagara(Sprite篇)
作者:互联网
从Cascade到Niagara(Sprite篇)
本文是对具有UE4的Cascade粒子系统基础的开发者所写,在推出了Niagara粒子系统后,后续可能出现将旧有的粒子系统移植到Niagara的相关需求,这里我们从模块的角度来为大家展示Niagara如何与Cascade粒子系统对应,而Niagara又具有哪些新的内容。
作者在学习cascade时,模块名称仍为英文,故这里列出的是cascade模块的英文显示。
粒子的生成:
粒子的Spawn和SpawnPerUnit模块在Niagara有如下调整:
在发射器更新栏内,粒子生成被拆分为SpawnRate和Spawn Burst Instantaneous,来对应旧粒子系统中的Spawn模块,该模块原先包括生成和爆发两项。
初始值:
Initial Color,Initial Size,Initial Rotation,Initial Velocity等为初始值。
这些初始值,在Niagara有如下调整:
在粒子生成栏内,除速度外,其余模块被合并为Initial Particle。
当Add Velocity被放置在粒子生成栏时,与Cascade内Initial Velocity效果相同。
更新:
XXX Over Life或者XXX By Life模块将做出统一调整:
Niagara在粒子更新栏内添加的模块将具备XXX Over life(或者XXX By Life)的作用。
(Cascade内,Initial Color与Color Over Life的计算方式是相乘,故Scale Color更贴近Color Over Life模块)
在粒子更新栏内,添加Scale Color,Scale Sprite size,Scale Velocity并将值类型设置为Curve的相关变量,将根据自变量的变化来更新,这里,自变量可以是NormalizedAge(根据粒子寿命自0.0~1.0进行缩放),或者是Age(单位为s)
自变量CurveIndex可以设置为别的类型,比如我们可以根据粒子的z位置确定粒子的颜色,来达到彩虹的效果。
参数演示1:参数和演示效果如下,我们使用数量较多的粒子来突出上图中改动后的效果,可以看到,粒子颜色根据粒子的z坐标来变化。
为方便进行颜色曲线的显示,这里的模式选择为RGBA Together
这里的自变量(CurveIndex)设置为Make Float from Vector,在vector处选择粒子的position,Channel选择Z。
因为自变量从时间变为了粒子位置的z坐标,因此曲线的范围也需要进一步扩大,这里我们手动选取了一个还算合适的范围。从这里我们可以证实粒子的颜色在根据z坐标而变化,因为粒子向上的初速度不足以达到紫色的高度,故没有粒子显示为紫色。
速度、位置和力:
三者共同影响粒子的运动。注意,你可以让位置根据一个曲线来进行改变,以此实现粒子的运动。
Cascade中部分模块对应Niagara模块如下。其中,Attractor类型在Niagara中可使用力相关模块来实现。
力作为一个改变速度的变量,与速度的相关计算依赖以下模块(粒子更新栏下)
如果想在粒子生成时就添加力,请在生成栏添加Apply Initial Forces模块
请根据添加的力和旋转,补充有关的Solve模块。
此类计算自上而下,且在计算中模块间有可能覆盖或更改,因此我们需要将Solve有关的模块放置于粒子更新栏的最下方。而且,我们自行编写模块时,需要将自写模块放置至合适的位置才能达到效果。
力的有关模块如下图,请根据英文名称描述选取相应的模块:
在内容演示中,我们将使用多个Force和Velocity模块的混合,来实现粒子螺旋吸收的效果。
参数演示2:
速度参数如下:
未列出的参数:Cylinder Location的半径为200,高度为0。
上图中,请注意各个模块中的Origin Offset参数,它确定了吸收的点的位置。
(在Cascade中,我们可以通过制作一个普通的吸收效果,将吸收的Sprite发射器的属性改为Local Space,并旋转Cascade来实现螺旋的效果。请注意这里是否勾选Local Space的区别)
GPU模拟:
在发射器属性中修改。
与Cascade一样,Niagara的GPU粒子同样需要边界,这边界通常用于标示粒子显示的范围。
边界设置如下图,与Cascade类似。
在上图中,Niagara也可以手动调整边界,勾选固定边界后设置大小即可。
锁定朝向:
Cascade中,锁定朝向的方式是使用LockAxis模块,且只能朝向轴。而Niagara中,逻辑有所修改。
当粒子需要朝向特定方向时(等同于LockAxis中的X选项),设置如下:
在Sprite渲染器模块内,将对齐设置为自定义对齐,朝向模式改为自定义朝向矢量。
在粒子生成处点击加号,点击设置新参数。
点击+号,选择SpriteFacing变量进行修改。
该变量是一个Vector的值,比Cascade更多的功能是,当该变量调整为(1,1,0)之类的矢量时,粒子将具有斜向朝向。
当粒子需要对轴活动时(等同于LockAxis中的Rotate Z),在Sprite渲染器内修改以下设置如图:
仍然是设置参数:
在上图中请设置SpriteAlignment,例如,设置为(0,0,1)时,将等同于在Cascade中,LockAxis选项里的Rotate Z
速度对齐:
Sprite渲染器内,对齐如果设置为速度对齐,等同于下图在Cascade中,Velocity对齐的方式。
(该文章将在bilibili同步发布,内容略有不同。另外,参数演示视频将发布在b站
标签:粒子,Sprite,Initial,Cascade,Niagara,模块 来源: https://blog.csdn.net/guojinglei8/article/details/118877805