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 进行脚本计算。

  • 性能影响

    • 开启后需要额外的内存和计算资源,因此只在需要时启用。

  • 适用场景

    • 需要通过脚本或蓝图跟踪单个粒子状态时(如路径动画或粒子碰撞记录)。