目录
效果
可以看到第一个发射器生成的粒子产生碰撞后,第二个发射器就会在产生碰撞的位置生成一个粒子
步骤
一、创建可产生碰撞事件的粒子
首先创建一个Niagara发射器,选择“拷贝现有发射器”
选择喷泉模板
这里命名为“NE_Fountain”
打开“NE_Fountain”,修改一下粒子每秒生成速率为3
在“Initialize Particle”模块中修改粒子生命周期时长为5~7s,设置粒子大小为20~24
在粒子更新中添加一个“Collsion”模块
对发射器创建Niagara系统然后拖入场景中,此时可以看到粒子和平面发生了碰撞:
二、创建接收碰撞响应后生成的粒子
新建一个Niagara发射器,使用Empty模板,这里命名为“NE_Fountain2”
打开“NE_Fountain_CollsionRecv”,添加一个“Spawn Burst Instantaneous”模块让发射器立即发射一个粒子
添加一个“Scale Color”,让粒子的颜色和透明度随时间变化
设置一下粒子的初始大小为15cm
设置粒子的大小变化
三、接收碰撞响应后生成粒子
将发射器“NE_Fountain2”加入粒子系统“NS_Fountain”
接下来我们要做的是让发射器“NE_Fountain”产生碰撞事件,发射器“NE_Fountain2”在接收到事件响应后生成粒子
添加一个“Generate Collsion Event”模块
添加后可以看到编译失败
我们需要在属性中,勾选“需要固定ID”
在发射器“NE_Fountain2”中添加一个“事件处理器”阶段
在“事件处理器属性”中,设置源为“CollsionEvent”,执行模式为“生成粒子”,每帧最大事件为0表示不做事件数量限制,生成数量设为1
将“Spawn Burst Instanceaneous”模块取消勾选,因为我们要在接收到碰撞响应后才生成粒子
添加一个“Receive Collsion Event”模块
此时效果如下,可以看到第一个发射器生成的粒子产生碰撞后,第二个发射器就会在产生碰撞的位置生成一个粒子
参考视频: