ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

从Cascade到Niagara(Sprite篇)

2021-07-18 15:59:32  阅读:471  来源: 互联网

标签:粒子 Sprite Initial Cascade Niagara 模块


从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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有