Version: 2022.1
粒子系统模块
Emission 模块

Main module

Particle System 模块包含影响整个系统的全局属性。大多数这些属性用于控制新创建的粒子的初始状态。要展开和折叠主模块,请单击 Inspector 窗口中的 Particle System 栏。

该模块的名称在 Inspector 中显示为粒子系统 (Particle System) 组件所附加到的游戏对象的名称。

Using the Main module

This module is part of the Particle System component. When you create a new Particle System GameObject, or add a Particle System component to an exiting GameObject, Unity embeds the Main module in the Particle System. To create a new Particle System:

  1. Click GameObject > Effects > Particle System.
  2. In the Inspector, find the Particle System component.
  3. The main module properties appear at the top of the Particle System component.

API

Since this module is part of the Particle System component, you access it through the ParticleSystem class. For information on how to access it and change values at runtime, see the Main module API documentation.

属性

For some properties in this section, you can use different modes to set their value. For information on the modes you can use, see Varying properties over time.

属性 功能
Duration 系统运行的时间长度。
Looping 如果启用此属性,系统将在其持续时间结束时再次启动并继续重复该循环。
Prewarm 如果启用此属性,系统将初始化,就像已经完成一个完整周期一样(仅当 Looping 也启用时才有效)。
Start Delay 启用此属性后,系统开始发射前将延迟一段时间(以秒为单位)。
Start Lifetime 粒子的初始生命周期。
Start Speed 每个粒子在适当方向的初始速度。
3D Start Size 如果要分别控制每个轴的大小,请启用此属性。
Start Size 每个粒子的初始大小。
3D Start Rotation 如果要分别控制每个轴的旋转,请启用此属性。
Start Rotation 每个粒子的初始旋转角度。
Flip Rotation 使一些粒子以相反的方向旋转。
Start Color 每个粒子的初始颜色。
Gravity Modifier 缩放 Physics 窗口中设置的重力值。值为零会关闭重力。
Simulation Space 控制粒子的运动位置是在父对象的局部空间中(因此与父对象一起移动)、在世界空间中还是相对于自定义对象(与您选择的自定义对象一起移动)。
Simulation Speed 调整整个系统更新的速度。
Delta Time ScaledUnscaled 之间进行选择,其中的 Scaled 使用 Time 窗口中的 Time Scale 值,而 Unscaled 将忽略该值。此属性对于出现在暂停菜单 (Pause Menu) 上的粒子系统非常有用。
Scaling Mode 选择如何使用变换中的缩放。设置为 HierarchyLocalShape。Local 仅应用粒子系统变换缩放,忽略任何父级。Shape 模式将缩放应用于粒子起始位置,但不影响粒子大小。
Play on Awake 如果启用此属性,则粒子系统会在创建对象时自动启动。
Emitter Velocity Choose how the Particle System calculates the velocity used by the Inherit Velocity and Emission modules. The system can calculate the velocity using a Rigidbody component, if one exists, or by tracking the movement of the Transform component. If no Rigidbody component exists, the system uses its Transform component by default.
Max Particles 系统中同时允许的最多粒子数。如果达到限制,则移除一些粒子。
Auto Random Seed 如果启用此属性,则每次播放时粒子系统看起来都会不同。设置为 false 时,每次播放时系统都完全相同。
Random Seed 禁用自动随机种子时,此值用于创建唯一的可重复效果。
Stop Action 当属于系统的所有粒子都已完成时,可使系统执行某种操作。当一个系统的所有粒子都已死亡,并且系统存活时间已超过 Duration 设定的值时,判定该系统已停止。对于循环系统,只有在通过脚本停止系统时才会发生这种情况。
    Disable 禁用游戏对象。
    Destroy 销毁游戏对象。
    Callback 将 OnParticleSystemStopped 回调发送给附加到游戏对象的任何脚本。
Culling Mode 选择粒子在屏幕外时是否暂停粒子系统模拟。在屏幕外时进行剔除具有最高效率,但您可能希望继续进行非一次性 (off-one) 效果的模拟。
    Automatic 循环系统使用 Pause__,而所有其他系统使用 Always Simulate。 | |    Pause And Catch-up | 系统在屏幕外时停止模拟。当重新进入视图时,模拟会执行一大步以到达在不暂停的情况下可实现的程度。在复杂系统中,此选项可能会导致性能尖峰。 | |    Pause | 系统在屏幕外时停止模拟。 | |    Always Simulate | 无论是否在屏幕上,系统始终处理每个帧的模拟。这对于烟花等一次性效果(在模拟过程中这些效果很明显)非常有用。 | | Ring Buffer Mode__ 保持粒子存活直到它们达到 Max Particles 计数,此时新粒子会取代最早的粒子,而不是在它们的寿命终结时才删除粒子。
    Disabled 禁用 Ring Buffer Mode__,以便系统在粒子生命周期终结时删除粒子。 | |    Pause Until Replaced | 在粒子生命周期结束时暂停旧粒子,直至达到 Max Particle__ 限制,此时系统会进行粒子再循环,因此旧粒子会重新显示为新粒子。
    Loop Until Replaced 在粒子生命周期结束时,粒子将倒回到其生命周期的指定比例,直至达到 Max Particle 限制,此时系统会进行粒子再循环,因此旧粒子会重新显示为新粒子。

属性详细信息

系统会在特定时间内发射粒子,并可使用 Looped 属性将其设置为连续发射。此设置可让您设置间歇或连续发射粒子;例如,一个对象可能以短暂间隔或以稳定流的形式发射烟雾。

Start 属性(__lifetimespeedsizerotation__ 和 color__)可指定粒子发射时的状态。可使用 3D Start Size__ 属性来独立指定粒子的宽度、高度和深度(请参阅下面的非均匀粒子缩放)。

所有粒子系统都使用 Physics 设置中指定的相同重力矢量。Gravity Multiplier 值可用于缩放重力,或者如果设置为零则将其关闭。

非均匀粒子缩放

3D Start Size 属性允许您独立指定粒子的宽度、高度和深度。在粒子系统__主__模块中,选中 3D Start Size 复选框,然后输入粒子的初始 x(宽度)、y(高度)和 z(深度)的值。请注意,z(深度)仅适用于 3D 网格粒子。此外,还可在两个常量或曲线之间的范围内为这些属性设置随机值。

您可以在粒子系统__主__模块中设置粒子的初始大小,并使用 Size over Lifetime 模块中的 Separate Axes 选项设置粒子在其生命周期内的大小。此外,还可使用 Size by Speed 模块中的 Separate Axes 选项设置粒子的大小与其速度的关系。

Simulation Space

Simulation Space 属性确定粒子是随粒子系统父对象移动、随自定义对象移动还是在游戏世界中独立移动。例如,像云,软管和喷火器这样的系统需要独立于其父游戏对象进行设置,因为即使生成它们的对象移动,它们往往也会留下在世界空间中持续存在的轨迹。另一方面,如果使用粒子在两个电极之间产生火花,则粒子应该随父对象一起移动。有关粒子如何跟随粒子变换的更高级控制方式,请参阅 Inherit Velocity 模块相关文档。

设置为 Custom 时,粒子不再相对于自己的变换组件移动。相反,它们都相对于指定的变换组件的移动而移动。粒子系统使用自定义变换来计算发射器速度,计算结果将由 Inherit Velocity 模块以及 Emission 模块的 Rate over Distance 属性用于控制粒子速度和发射。



  • 2018–11–02 页面已修订

  • 在 Unity 2017.1 中添加了 Simulation Speed、Delta Time 和 Emitter Velocity NewIn20171

  • 在 Unity 2017.2 中添加了 Stop Action 粒子系统属性 NewIn20172

  • 2018.3 版中向粒子系统添加了 Culling Mode 和 Ring Buffer Mode 属性 NewIn20183

粒子系统模块
Emission 模块