Skip to content

Lifetime 与 Speed 模块 ​

组合 Color、Size 与 Shader Motion 的 shield 项目

Lifetime 与 Speed 模块通常组合使用;shield 由多层 Emitter 构成,尺寸、颜色与运动会一起变化。

Lifetime 模块使用归一化粒子 age 采样。Speed 模块先通过配置范围重映射当前速度。它们会与 Start Value 相乘或相加,而不是直接替换完整粒子状态。

Lifetime Mode ​

自 2.2.11
从左到右分别是 Once、Loop、PingPong:蓝色是刚出生,红色是寿命终点。片段在 6 秒处结束。

粒子发射器设置里 Start Lifetime 旁边的 Lifetime Mode 决定粒子寿命如何换算成归一化年龄,所有 over Lifetime 模块都按这个年龄采样:

模式归一化年龄粒子何时消亡
Once(默认)从 0 到 1 走一次。寿命结束时,和以前一样。
Loop从 0 到 1,每个寿命周期重新开始。发射器被停止后,在当前这一轮结束时。
PingPong从 0 到 1 再回到 0,来回往复。发射器被停止后,在当前这一轮结束时。

发射器“被停止”指它开始收尾:Drain 片段结束,或者特效被 destroy(false) 停止。发射器走完自己的 Duration 不算被停止,所以发射器结束后,一次爆发出的 Loop 粒子仍会继续循环。因此用一次爆发的 Loop 或 PingPong 粒子,就能低成本地做出和区段同样长的光环或光圈。

没有寿命的粒子(Start Lifetime 为 0)现在会在发射器被停止时立即结束。2.2.11 之前它们永远不会结束,特效也就一直不会结束。

模块参考 ​

模块输入影响
Color over Lifetime归一化 age使用 Gradient 或 Color Function 乘到粒子颜色/alpha。
Size over Lifetime归一化 age缩放 X/Y/Z Size。
Rotation over Lifetime归一化 age绕 Space 选定的坐标轴添加 roll、pitch、yaw。
Velocity over Lifetime归一化 age添加 linear/orbital/radial velocity 和 speed modification。
Force over Lifetime归一化 age把 acceleration 积分到 velocity。
Color by Speed重映射速度根据移动速度乘到颜色。
Size by Speed重映射速度根据速度缩放 Size。
Rotation by Speed重映射速度根据速度添加 Rotation。
Lifetime by Emitter SpeedEmitter speed调整生成时分配的 Lifetime。
固定光照(Fixed Light)归一化 age设置原版天空光和方块光数值。见 固定光照。
粒子发光(Light Emission)归一化 age让一部分粒子成为跟随它们、并随它们淡出的动态光源。见 粒子发光。
自 2.2.8 粒子发光(Light Emission)。

Enable 也是 Runtime Value ​

可动画模块 Enable 自 2.2.0

Toggle Module 的 enable 状态会暴露到 Emitter Runtime。因此 Timeline 可以开关模块,而不重写编辑器 Config。

Speed Range ​

By Speed 模块把配置的最小和最大速度映射到 0..1 后再采样 Function。范围应当接近真实 Particle Velocity;如果范围远高于实际速度,Function 会一直停留在第一段。

Value Space ​

产生向量的模块可能提供 ValueSpace 字段,用来选择数值所在的坐标轴:Local、World 或 Custom。它不会改变 Emitter 的 Particle Simulation Space。

自 2.2.8

选择 Custom 后会出现 自定义空间(Custom Space)选择器。从层级面板把一个对象拖进去,数值就使用该对象当前的坐标轴。未设置或对象被删除时,Custom 使用世界坐标轴。

模块字段默认值LocalWorld 与 Custom
生命周期内受力(Force Over Lifetime)模拟空间(Simulation Space)LocalEmitter 的坐标轴。世界坐标轴,或对象的坐标轴。
生命周期内速度(Velocity Over Lifetime)坐标系(Space)LocalEmitter 的坐标轴。世界坐标轴,或对象的坐标轴。使用 Custom 时,Orbital 和 Radial 的中心点移到该对象的原点。
生命周期内旋转(Rotation Over Lifetime)坐标系(Space,2.2.8 新增)Local粒子自身的坐标轴,与 2.2.8 之前一致。绕世界坐标轴或对象的坐标轴旋转。只对 Model、Horizontal、Vertical 和 None 渲染模式生效。
AraTrail 物理(Physics)重力坐标系(Gravity Space,2.2.8 新增)WorldEmitter 的坐标轴。世界坐标轴,或对象的坐标轴。
  • 使用 Billboard 类渲染模式时,生命周期内旋转的坐标系请保持 Local。
  • 2.2.8 之前保存的 AraTrail 文件会根据 Trail 的空间映射重力坐标系,因此外观不变。
  • 子发射器的继承旋转(Inherit Rotation)会忽略 World 或 Custom 坐标系下的生命周期内旋转。

模块组合 ​

Start Color × Color over Lifetime × Color by Speed 得到进入 Material 逻辑前的有效粒子颜色。Size 使用类似方式;Rotation 和 Motion 模块累加各自贡献。

调试时:

  1. 把 Start Value 设为简单常量。
  2. 只开启一个模块。
  3. 使用从零到一的清晰 Linear Curve。
  4. 确认第一个模块输入范围后,再加入第二个模块。

Released under the MIT License.