事件模块
事件模块
事件模块允许您基于粒子自身间、不同粒子之间、或者粒子和世界之间的相互作用来产生事件,然后监听这些事件并在一个交互的粒子系统关卡中导致一系列的反应。 一个很好的例子是当一个粒子和世界中其它物体产生碰撞时,会触发指定的碰撞事件,然后在那些碰撞发生的地方产生粒子。
事件产生器
这个模块将根据您指定的条件产生一个(或多个)事件。 这个模块有一个单独的 事件 数组,它包含了您想让发射器生成的一系列事件。 事件 数组中的每项都有以下属性:
属性 | 描述 |
---|---|
Events |
|
类型 | 事件类型。 可能的类型包括: |
频率 | 多长时间触发一次事件。 比如说<=1意味着每次都触发事件。 用它来让每次碰撞都触发一次事件。 |
仅首次 | 使用布尔运算使之仅在首次碰撞触发事件。 |
仅末次 | 使用布尔运算使之仅在末次碰撞触发事件。 |
使用反射的冲力向量 | 使用布尔运算决定碰撞事件的方向是否为冲力向量的方向,而不是碰撞平面的法线方向。 |
自定义名称 | 这是您事件的名称,它使您可以建立一个监听器来监听此事件名,然后执行相应的动作。 所有的事件都需要被命名。 |
发送给游戏的粒子模块事件 | 当事件生成时我们想要触发的事件。 这需要您的游戏实现ParticleModuleEventSendToGame 的新子类,它 代表了粒子事件可触发的游戏事件类型。 |
事件接收器销毁所有粒子 (EventRcvr KillAll)
监听命名事件,然后销毁发射器的所有粒子。
属性 | 描述 |
---|---|
ParticleModuleEventReceiverKillParticles |
|
停止生成粒子 | 如果该项为true,那么除了销毁所有现有粒子外,发射器将停止产生新粒子。 |
Events |
|
事件生成器类型 | 所监听的事件的类型。 |
事件名称 | 要监听的事件的名称。 |
事件接收器生成粒子 (EventRcvr Spawn)
监听指定名称的事件,然后根据所触发的事件来生成粒子。
属性 | 描述 |
---|---|
Spawn |
|
生成数量 | 决定了当触发一个事件时生成粒子的数量。 |
使用粒子时间 | 若基于死亡的事件接收为true,这表示该事件的ParticleTime(粒子时间)应被用来查找SpawnCount(生成数量)。 否则(以及在接受到所有的其他事件中),使用事件的发射器时间。 |
Location |
|
使用PSys位置 | 使用布尔运算来决定粒子生成事件是在触发该事件的粒子时发生,还是在粒子系统的原点发生。 |
Velocity |
|
继承速度 | 如果该项为true,那么将会使用触发事件的粒子的速度作为生成粒子的起始速度。 |
继承速度缩放 | 如果 Inherit Velocity (继承速度)为true,该项作为缩放速度的比例因数。 |
Source |
|
事件生成器类型 | 所监听的事件的类型。 |
事件名称 | 要监听的事件的名称。 |