目录
效果
步骤
一、炸开时的烟雾效果
- 选中场景中的几何体集,勾选"通知中断",这样当几何体集解体时就能产生一个事件;勾选"通知碰撞",当几何体集检测到碰撞也能产生一个事件。
- 勾选"Chaos Niagara"和"Chaos Solver"插件
- 添加一个Niagara系统,选择"来自所选发射器的新系统"
选择"Fountain"模板
这里命名为"NS_ChaosExplorsion"
打开"NS_ChaosExplorsion",添加一个用户公开参数,选择"Chaos销毁数据"
这里命名为"Chaos销毁数据"
此时在用户参数面板中可以看到"Chaos销毁数据"相关内容
数据源修改为"中断数据"
这里设置最小/最大生成数量(5,5)
选中"Sprite渲染器"模块,材质设置为初学者内容包中的"M_smoke_subUV"材质,子图像大小设置为6*6
添加一个"Sub UVAnimation"模块
在"Sub UVAnimation"模块中,设置"End Frame Range Override"为35(因为"M_smoke_subUV"材质的子图像有36张)
删除重力模块
删除"Add Velocity"模块
为了让烟雾粒子向着四周飘散,添加一个"Acceleration Force"模块
设置加速力在(-300,-300,0)到(300,300,600)之间
此时效果如下
为了让粒子发散的速度不那么块,我们设置"Drag"模块的"Drag"值为1
在"Initialize Particle"模块中设置粒子生命周期为3~5s,粒子大小在400~600cm范围内
添加一个"Sprite Rotation Rate"模块,设置粒子旋转速率为5
降低粒子透明度
此时效果如下
下面我们希望在石柱破碎的瞬间生成烟雾粒子效果。
先禁用"Spawn Rate"模块
点击发射器更新旁边的加号,再打开"插件"
在"发射器更新"中添加一个"Spawn from Chaos"模块
在"粒子生成"阶段添加一个"Apply Chaos Data"模块
将我们创建的"Chaos销毁数据"拖入"Spawn from Chaos"模块中的"New Chaos Destruction Data"
将"Chaos销毁数据"同样拖入"Apply Chaos Data"模块中的"New Chaos Destruction Data"
在"Initialize Particle"模块中设置"Position Mode"为"Unset"
- 将"NS_ChaosExplorsion"拖入场景中的任意位置
此时运行就可以看到,粒子会在石柱破裂的地方生成烟雾粒子
我们可以让粒子只生成一次
可以设置烟雾粒子往外移动的速度慢一些
在参数"Chaos销毁数据"中可以设置烟雾粒子的生成数量
二、炸开时的碎片效果
- 在"NS_ChaosExplorsion"中添加一个新发射器
发射器模板任然使用"Fountain"
删除发射器中的"Sprite渲染器"模块,添加一个"网格体渲染器"模块
设置一下用的石块网格体和缩放
可以让石块有个初始的随机方向,我们可以添加一个"Initial Mesh Orientation"模块,设置粒子在三个轴的方向均为0~360
在"Add Velocity"模块中将速度模式修改为"From Point"
在"Shape Location"模块中,设置粒子初始生成范围为100cm的球形区域内
同样的,我们想通过事件驱动的方式,让石柱炸开的瞬间生成粒子效果。因此取消使用"Spawn Rate"模块,添加一个"Spawn from Chaos"模块
添加一个"Apply Chaos Data"
将"Apply Chaos Data"模块拖入粒子生成阶段的最上层
将参数"Chaos销毁数据"拖入"Spawn from Chaos"和"Apply Chaos Data"模块
在"Initialize Particle"模块中,将位置模式设置为"Unset",否则石块碎片粒子无法在石柱破碎的地方生成
此时运行可以看到在石柱破裂的位置生成烟雾和石块碎片粒子
如果感觉石块碎片偏多,我们可以在"Spawn from Chaos"模块中,降低"Spawn Percentage Fraction"的值
如果希望生成的碎块粒子也拥有碰撞,我们可以添加一个"Collsion"模块