如果希望,同一个节点的两个不同的Niagara能相互控制, 则需要使用发射器事件
发送事件:Generate
当粒子处于某种状态时,会向外暴露的属性 (这些属性可以被其他Niagara接收)
Generate Collision Event:当粒子发生碰撞时 Generate Death Event:当粒子死亡时 Generate Location Event:当前粒子位置
⚠️注意:发送粒子不能使用GPU渲染,只能使用CPU ⚠️注意:发送粒子必须有一个永恒的ID
粒子碰撞:Collision
⚠️注意:Generate Collision Event必须配合Collision一起使用 粒子发生碰撞时会返回 【HasCollided】属性 而【HasCollied】可以用来控制粒子死亡【KillParticles】
接收事件:Receive
用来接收【发送的事件】
第一步:添加事件处理器:Add Event Handler
第二步:添加需要接收的类型 Receive Collison Event:接收碰撞事件 Receive Death Event:接收死亡事件 Receive Location Event:接收粒子坐标
⚠️注意:在 Receive Location Event 有一个 SpawnCount 是用来控制坐标采样精度的,一般设置到100就非常准了
事件处理器属性:Event Handler Properties
Source 源 |
指定从哪个Niagara中接收哪个事件 ⚠️(必须指定) |
|
---|---|---|
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】模块依旧可以使用)