如果希望,同一个节点的两个不同的Niagara能相互控制, 则需要使用发射器事件

发送事件:Generate

当粒子处于某种状态时,会向外暴露的属性 (这些属性可以被其他Niagara接收)

Generate Collision Event:当粒子发生碰撞时 Generate Death Event:当粒子死亡时 Generate Location Event:当前粒子位置 image.png

⚠️注意:发送粒子不能使用GPU渲染,只能使用CPU ⚠️注意:发送粒子必须有一个永恒的ID image.png

粒子碰撞:Collision

⚠️注意:Generate Collision Event必须配合Collision一起使用 image.png 粒子发生碰撞时会返回 【HasCollided】属性 而【HasCollied】可以用来控制粒子死亡【KillParticles】 image.png

image.png

接收事件:Receive

用来接收【发送的事件】

第一步:添加事件处理器:Add Event Handler

image.png

第二步:添加需要接收的类型 Receive Collison Event:接收碰撞事件 Receive Death Event:接收死亡事件 Receive Location Event:接收粒子坐标 image.png

⚠️注意:Receive Location Event 有一个 SpawnCount 是用来控制坐标采样精度的,一般设置到100就非常准了 image.png

事件处理器属性:Event Handler Properties

image.png

Source
指定从哪个Niagara中接收哪个事件
⚠️(必须指定)
image.png
Execution Mode
执行模式
Every Particle
每个粒子
继承之前的粒子
Spawned Particles
生成粒子
重新生成粒子
相当于【Spawn Rate发射器】
Max Events Per Frame
每帧最大事件
每帧可以接收的最大粒子
(即最多只能接收到x个粒子的事件)
Sppawn
生成数量
(Spawned Particles 模式)
生成数量
Random Spawn Number
(Spawned Particles 模式)
随机发射数量

事件处理器:Event Handler

【Event Handler】 相当于 代替了原来的 【Emitter Update】【Particle Spawn】 可以加入一些Location 、Forces、velocity等粒子属性

(注:【Particle Spawn】模块依旧可以使用) image.png