Lifetime 与 Speed 模块

Lifetime 与 Speed 模块通常组合使用;shield 由多层 Emitter 构成,尺寸、颜色与运动会一起变化。
Lifetime 模块使用归一化粒子 age 采样。Speed 模块先通过配置范围重映射当前速度。它们会与 Start Value 相乘或相加,而不是直接替换完整粒子状态。
Lifetime Mode
自 2.2.11粒子发射器设置里 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 Speed | Emitter speed | 调整生成时分配的 Lifetime。 |
| 固定光照(Fixed Light) | 归一化 age | 设置原版天空光和方块光数值。见 固定光照。 |
| 粒子发光(Light Emission) | 归一化 age | 让一部分粒子成为跟随它们、并随它们淡出的动态光源。见 粒子发光。 |
Enable 也是 Runtime Value
可动画模块 Enable 自 2.2.0Toggle 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。
选择 Custom 后会出现 自定义空间(Custom Space)选择器。从层级面板把一个对象拖进去,数值就使用该对象当前的坐标轴。未设置或对象被删除时,Custom 使用世界坐标轴。
| 模块 | 字段 | 默认值 | Local | World 与 Custom |
|---|---|---|---|---|
| 生命周期内受力(Force Over Lifetime) | 模拟空间(Simulation Space) | Local | Emitter 的坐标轴。 | 世界坐标轴,或对象的坐标轴。 |
| 生命周期内速度(Velocity Over Lifetime) | 坐标系(Space) | Local | Emitter 的坐标轴。 | 世界坐标轴,或对象的坐标轴。使用 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 新增) | World | Emitter 的坐标轴。 | 世界坐标轴,或对象的坐标轴。 |
- 使用 Billboard 类渲染模式时,生命周期内旋转的坐标系请保持
Local。 - 2.2.8 之前保存的 AraTrail 文件会根据 Trail 的空间映射重力坐标系,因此外观不变。
- 子发射器的继承旋转(Inherit Rotation)会忽略
World或Custom坐标系下的生命周期内旋转。
模块组合
Start Color × Color over Lifetime × Color by Speed 得到进入 Material 逻辑前的有效粒子颜色。Size 使用类似方式;Rotation 和 Motion 模块累加各自贡献。
调试时:
- 把 Start Value 设为简单常量。
- 只开启一个模块。
- 使用从零到一的清晰 Linear Curve。
- 确认第一个模块输入范围后,再加入第二个模块。