发射器属性
1. 本地空间(Local Space)
定义:决定粒子的位置和运动是否相对于发射器的位置。
开启(Local Space = True):
粒子的运动相对于发射器。例如,当发射器移动时,粒子的路径会随着发射器改变。
适用于火焰、烟雾等需要与发射器绑定的效果。
关闭(Local Space = False):
粒子的运动基于世界空间(World Space)。即使发射器移动,粒子的路径仍保持独立。
适用于爆炸、散射粒子等不需要与发射器绑定的效果。
2. 确定性(Determinism)
定义:确保粒子系统在相同的输入条件下每次运行都生成完全相同的结果。
使用场景:
适合需要高度一致性的效果(如网络同步时保证客户端和服务器显示相同粒子效果)。
使用随机数种子(Random Seed)来控制随机性的复现。
注意:开启后可能略微影响性能,因为需要更多计算来保证结果一致。
3. 内插生成(Interpolate Spawning)
定义:在粒子生成过程中使用插值来平滑生成粒子的行为。
作用:
消除低帧率下粒子生成不均匀的问题。
平滑发射器生成粒子的速率,避免突兀的粒子间距。
使用场景:
推荐在需要持续生成粒子(如烟雾、流体效果)时开启,以避免在低帧率时产生断续的效果。
对于爆炸或瞬时生成的粒子,可以关闭此选项。
4. 模拟目标(Sim Target)
定义:指定粒子系统的模拟方式。
选项:
CPUSim:在 CPU 上运行粒子模拟。
优点:适合需要复杂逻辑、碰撞检测等操作。
缺点:性能较低。
GPUSim:在 GPU 上运行粒子模拟。
优点:适合大量粒子、简单逻辑的大规模效果。
缺点:无法使用复杂的逻辑或一些高级功能(如精准碰撞检测)。
选择依据:
对于高性能和大量粒子效果,优先使用 GPU 模拟。
需要更多控制和复杂计算时选择 CPU 模拟。
5. 计算边界模式(Calculate Bounds Mode)
定义:决定如何计算粒子系统的边界框(Bounding Box),用于优化渲染和裁剪。
选项:
Dynamic:运行时动态计算边界。
优点:更精确,适合变化剧烈的粒子效果。
缺点:会增加一些计算开销。
Fixed:使用静态的固定边界。
优点:性能较高。
缺点:适合边界范围固定的粒子效果,不适用于动态扩散的粒子。
推荐:
粒子运动范围明确时使用固定边界。
边界范围动态变化时使用动态计算。
6. 固定边界(Fixed Bounds)
定义:设置粒子发射器的边界框为固定大小,用于优化裁剪。
使用:
在 Bounds Mode 设置为固定模式时,指定边界的尺寸。
通过手动输入边界值,确保所有粒子始终在边界范围内。
优点:
提高性能,避免 GPU/CPU额外计算边界。
注意:如果边界设置过小,粒子可能被裁剪掉,无法正确渲染。
7. 需要固定 ID(Requires Persistent IDs)
定义:为每个粒子分配一个固定的唯一标识符(ID),并在其生命周期内保持不变。
作用:
允许粒子在生命周期中保持特定状态(如跟踪每个粒子的行为变化)。
用于复杂效果,比如粒子交互、跟踪、或使用粒子 ID 进行脚本计算。
性能影响:
开启后需要额外的内存和计算资源,因此只在需要时启用。
适用场景:
需要通过脚本或蓝图跟踪单个粒子状态时(如路径动画或粒子碰撞记录)。