1. Life Cycle Mode(生命周期模式)

  • 1. Self(自定义生命周期)

    • 描述Self 模式表示粒子发射器生命周期由我们自定义,即发射器的生命周期由我们设置的规则来决定是否结束或销毁自己。

    • 行为

      • 发射器在 Self 模式下会根据设置的生命周期来运行,控制其启动、停止以及销毁的时间和条件。

    • 适用场景

      • 适用于一些独立的、一次性的粒子效果,如爆炸、火花等。你可以根据自己的需求设置发射器在完成粒子生成后自行结束。

    2. System(系统代理)

    • 描述System 模式意味着粒子发射器的生命周期由粒子系统来管理,即发射器会根据整个粒子系统的生命周期来决定是否结束。换句话说,发射器的生命周期依赖于粒子系统的状态,当粒子系统生命周期结束时,所有的发射器也会停止运行。

    • 行为

      • System 模式下,粒子发射器的生命周期将被粒子系统所代理管理。如果粒子系统结束,所有属于该系统的发射器都会立即结束。这种方式适用于需要系统统一管理的场景,发射器不会在系统结束之前自行消失。

      • 这种模式通常用于那些粒子系统需要统一生命周期的场景,确保所有发射器都能根据系统的状态停止或销毁。

    • 适用场景

      • 适用于一些需要系统级控制的效果,例如当整个场景或关卡结束时,所有的粒子特效都需要停止的场景。比如在游戏中的某个事件触发时,系统需要停止所有特效,这时候使用 System 生命周期模式会很有效。

2. Inactive Response(不活动响应)

  • 1. Complete(完成)

  • 描述:当发射器变为不活跃时,粒子系统会正常完成其当前操作,并停止生成新的粒子。粒子系统将保留其当前状态,直到所有现有粒子都完成生命周期。

    • 行为

  • Complete 模式下,发射器会停止生成新的粒子,但所有现有粒子继续存在,直到它们自然消失(即生命周期结束)。没有新的粒子生成,粒子系统会根据粒子的生命周期自动结束。

  • 这种模式适用于你希望发射器停止产生新的粒子,但不强制立即销毁现有粒子的场景。

    • 适用场景

  • 适用于那些不需要立刻销毁粒子系统的场景。例如,烟雾效果可以让发射器停止生成新烟雾,但现有烟雾粒子继续自然消散。


  • 2. Kill(销毁)

  • 描述:当发射器变为不活跃时,粒子系统会销毁所有当前粒子并清理资源。粒子系统会立即停止运行并释放所有相关资源。

    • 行为

  • Kill 模式下,发射器不仅停止生成新粒子,还会立即销毁所有现有粒子。这意味着粒子系统的所有粒子都会立即消失,不再存在。

  • 这种模式适用于那些需要立即清理粒子并释放资源的场景。

    • 适用场景

  • 适用于游戏中的临时性效果,尤其是在关卡结束时或事件触发后,希望清理所有粒子效果的场景。例如,爆炸或冲击波效果完成后需要销毁所有相关粒子。


  • 3. Continue(继续)

  • 描述:当发射器变为不活跃时,粒子系统会继续生成新的粒子,并保持粒子系统的行为。虽然发射器变为不活跃,但粒子仍然会继续生成和更新。

    • 行为

  • Continue 模式下,发射器继续其工作,粒子系统不会受到影响。虽然发射器不再生成新的粒子,但现有粒子会继续按照其生命周期和运动轨迹更新,直到生命周期结束。

  • 这种模式适用于你希望发射器保持粒子生成状态,直到所有粒子完成生命周期的场景。

    • 适用场景

  • 适用于粒子系统的持续性效果,特别是当你希望粒子继续活动而无需再生成新的粒子时。例如,烟雾或火焰等效果可能在发射器停止工作后,仍然需要让现有的粒子继续存在一段时间。


3. Loop Behavior(循环行为)

  • 1. Infinite(无限循环)

  • 描述:发射器会无限循环生成粒子,直到显式地停止或满足外部条件。

    • 行为

  • Infinite 模式下,发射器会持续生成粒子,并在每个生命周期结束后立刻重新开始下一个循环,没有任何延迟。粒子系统会不断进行循环,生成新的粒子,直到发射器被手动停止或者达到特定的停止条件。

  • 这种模式适用于那些需要持续不断的特效,像持续喷发的火焰、烟雾、雨滴等。

    • 适用场景

  • 适用于需要不停生成粒子的场景,如永恒的火焰、持续的烟雾或风雨等。适用于那些没有结束条件,粒子效果必须一直进行的场景。


  • 2. Once(单次循环)

  • 描述:发射器生成粒子一次,并在生成所有粒子后停止。整个生命周期结束后,发射器不会再继续生成新的粒子。

    • 行为

  • Once 模式下,发射器会生成粒子,直到完成指定的粒子数量或生命周期为止。粒子发射器生成完毕后,系统停止,不再继续生成任何新的粒子。

  • 这种模式适用于只需要一次性爆发或执行的特效,如爆炸、瞬间的冲击波等。发射器会在完成其任务后停止,并释放资源。

    • 适用场景

  • 适用于那些不需要循环的特效,如爆炸、瞬间产生的火花、弹药爆炸等一次性事件。


  • 3. Multiple(多次循环)

  • 描述:发射器会在多个循环之间生成粒子。每个循环都会有一个固定的持续时间,粒子发射器会根据指定的循环次数生成粒子。

    • 行为

  • Multiple 模式下,发射器会按照设定的次数重复生成粒子,并在每个循环结束后间隔一段时间。每次循环结束后,粒子发射器会进入一个暂停或延迟状态,直到下一个循环开始。

  • 这种模式适用于需要多次发射特效的场景,如多个爆炸效果按顺序发生,或者粒子效果在一定时间内持续进行,但每个循环之间有间隔。

    • 适用场景

  • 适用于那些需要分阶段或按序列播放的特效,例如多个爆炸效果、逐步增加的烟雾或火焰效果等。


4. Loop Duration(循环持续时间)

  • 描述:设置每次循环的时间长度,即发射器每次循环期间的总时长。

  • 类型:浮动值(秒)。

  • 功能:定义发射器在每次循环期间的持续时间。此属性与 Looping 生命周期模式结合使用,指定每个循环的持续时间。

  • 使用场景

    • 在需要精确控制粒子循环时,例如粒子爆发后进入一个持续的渲染状态,或者动画效果的每个循环长度。


5. Recalculate Duration Each Loop(每个循环重新计算持续时间)

  • 描述:决定是否每次循环都重新计算持续时间,或者每次循环都使用相同的持续时间。

  • 选项

    • Enabled:每次循环时都重新计算持续时间。适用于那些动态变化的效果,例如粒子的速度、方向或其他属性随着时间变化。

    • Disabled:每个循环的持续时间保持不变,适用于固定时长的效果。

  • 使用场景

    • Enabled:适用于那些需要周期性调整或变化的粒子效果,如随着时间推移粒子行为变得更加复杂或多样。

    • Disabled:适用于固定长度的重复效果,如持续的烟雾、风等。


6. Loop Delay(循环延迟)

  • 描述:在发射器每次循环之间添加延迟时间,用于调整每次循环之间的间隔。

  • 类型:浮动值(秒)。

  • 功能:设置每次循环之间的时间延迟。这意味着每个循环结束后,发射器将在一段时间内处于休眠状态,然后才会重新开始下一个循环。

  • 使用场景

    • Loop Delay 适用于不希望连续发生的效果。例如,火焰或爆炸效果需要一定的停顿才能避免效果过于密集。


7. Scalability Mode(可伸缩性模式)

  • 1. Enable Distance Culling(启用距离剔除)

  • 描述:当启用时,粒子系统会根据与观察者的距离来判断是否应该显示粒子。如果粒子系统距离观察者过远,则会被剔除(不渲染和不计算)。

  • 行为

    • Enable Distance Culling 开启的情况下,粒子系统会根据距离相机的距离动态控制粒子的显示。距离超过一定阈值后,粒子系统将不再进行渲染和计算,从而提高性能。

    • 这种方法适用于那些只在玩家/相机视野内需要展示的粒子系统,减少了在远离视野的区域渲染无效的粒子系统,降低了计算负担。

  • 适用场景

    • 用于场景中的背景特效或远距离的粒子效果,例如远处的烟雾、雾霾、远山上的云朵等,只有在玩家接近时才需要渲染和计算。


  • 2. Enable Visibility Culling(启用可见性剔除)

  • 描述:当启用时,粒子系统会根据是否在相机视野范围内来决定是否进行渲染。粒子系统如果处于视野之外,会被剔除,不进行渲染或计算。

  • 行为

    • Enable Visibility Culling 会根据粒子系统是否在相机视野内来决定是否继续渲染。如果粒子系统不在视野内,渲染和计算会被停止,直到再次进入视野。

    • 与距离剔除不同,视野剔除是基于相机的可见性,而不仅仅是基于距离。这通常与距离剔除一起使用,以实现更高效的粒子系统。

  • 适用场景

    • 适用于那些需要在特定视角内才需要显示的粒子特效,如场景中的特定区域的效果,例如某些区域的火焰、天气效果等,这些效果只有在玩家进入视野时才需要显示。


  • 3. Reset Age On Awaken(唤醒时重置年龄)

  • 描述:当启用时,粒子系统在被重新激活时会重置所有粒子的年龄。这样,粒子会从生命周期的起始阶段重新开始计算。

  • 行为

    • 启用 Reset Age On Awaken 后,当粒子系统被唤醒(例如从暂停状态恢复)时,所有粒子的年龄会重置为零。这意味着粒子系统的粒子会重新开始其生命周期,仿佛它们刚刚被发射一样。

    • 如果没有启用此选项,唤醒后的粒子将保持它们原来的年龄,从而继续其生命周期中的状态。

  • 适用场景

    • 适用于那些希望粒子系统从“新鲜”状态开始的场景,特别是当粒子系统被暂停或禁用后需要恢复时。例如,在一个交互式游戏中,当某个特效被暂停后再恢复时,可能希望粒子从头开始,而不是继续之前的粒子状态。