粒子初始化器
中级 美术 程序员
初始化器(Initializer) 控制粒子首次生成时的状态,例如位置、速度、大小等。它们对之前各帧生成的粒子没有影响。
Note
某些更新器会在帧的末尾改变粒子的值。它们实际上会覆盖由类似的初始化器设置的任何初始值。所有动画都是如此。它们基于粒子的存活时间运行,颜色动画更新器会覆盖颜色初始化器的任何初始值。
类似地,作用于同一字段的初始化器是互斥的,只有最下面的那个才会生效,因为它们按顺序执行。例如,如果你分配两个颜色初始化器,只有第二个会生效。]
通用属性
多个属性在许多初始化器中是通用的。

| 属性 | 描述 |
|---|---|
| Debug draw | 在场景中绘制调试线框以显示初始化器的边界。这只在 Scene Editor 中可见,运行时不可见。 |
| Position inheritance | 继承粒子系统组件的位置,如粒子实体的 Transform 组件中所定义 |
| Position offset | 模块的额外平移。如果它继承了父级位置,这会应用在继承的位置之上。 |
| Rotation inheritance | 继承粒子系统组件的旋转,如 Transform 组件中所定义 |
| Rotation offset | 模块的额外旋转。如果它继承了父级的旋转,这会应用在继承的旋转之上。 |
| Scale inheritance | 继承粒子系统组件的均匀缩放,如 Transform 组件中所定义 |
| Scale offset | 模块的额外缩放。如果它继承了父级的缩放,这会应用在继承的缩放之上。 |
例如,速度初始化器可以根据父级的旋转改变其方向,也可以选择忽略它并始终以固定方向发射粒子。
另一方面,大小初始化器不会因父级的旋转而改变,因此旋转字段根本不会出现。
位置(Position)
粒子在一个轴对齐包围盒中生成,该包围盒由其左下后角和右上前角定义。

| 属性 | 描述 |
|---|---|
| Seed offset | 用于随机数。将其设置为相同的值可强制位置与具有三个属性(X、Y、Z)的其他粒子字段(例如速度)耦合。将它们设置为不同的值可强制位置唯一且独立于其他字段 |
| Position min | 盒体的左下后角 |
| Position max | 盒体的右上前角 |
这张图片显示了此发射器的粒子最初出现的包围盒。除了角点 (-1, 0.8, -1) ~ (1, 1, 1) 之外,从偏移旋转可以看到盒体还额外旋转了 45 度。

速度(Velocity)
粒子以介于定义值之间的初始速度生成。速度在 X、Y 和 Z 三个方向上相互独立。

| 属性 | 描述 |
|---|---|
| Seed offset | 用于随机数。将其设置为相同的值可强制速度与具有 3 个属性(X、Y、Z)的其他粒子字段(例如位置)耦合。将它们设置为不同的值可强制速度唯一且独立于其他字段。 |
| Velocity min | 盒体的左下后角 |
| Velocity max | 盒体的右上前角 |
大小(Size)
初始大小设置粒子首次生成时的均匀大小。大小为 1 时,渲染后将得到 1 米 x 1 米的公告板或四边形。

| 属性 | 描述 |
|---|---|
| Seed offset | 用于随机数。将其设置为相同的值可强制大小与具有 1 个属性的其他粒子字段(例如颜色)耦合。将它们设置为不同的值可强制大小唯一且独立于其他字段 |
| Random size | 显示粒子在生成时可以具有的最小和最大大小 |
旋转(Rotation)
初始旋转设置粒子面向摄像机时的角度旋转。正值为顺时针旋转。该字段仅对面向摄像机的粒子(如公告板)有意义。它对有朝向的四边形和模型没有影响。

| 属性 | 描述 |
|---|---|
| Seed offset | 用于随机数。将其设置为相同的值可强制角度与具有 1 个属性的其他粒子字段(例如颜色)耦合。将它们设置为不同的值可强制角度唯一且独立于其他字段 |
| Angle (degrees) | 初始旋转的最小值和最大值,以度为单位 |
颜色(Color)
初始颜色设置粒子生成时的初始颜色。它在构建粒子时进入顶点缓冲区,可以被材质使用,但如果材质本身没有设置该选项则可能不会使用。如果设置颜色没有效果,请参见材质页面了解更多讨论。

| 属性 | 描述 |
|---|---|
| Seed offset | 用于随机数。将其设置为相同的值可强制颜色与具有 1 个属性的其他粒子字段(例如大小)耦合。将它们设置为不同的值可强制颜色唯一且独立于其他字段 |
| Color A | 第一个值,以十六进制代码表示。颜色将是此颜色与第二种颜色之间的随机色调。 |
| Color B | 第二个值,以十六进制代码表示。颜色将是此颜色与第一种颜色之间的随机色调。 |
3D 朝向(3D Orientation)
初始 3D 朝向设置支持 3D 的粒子首次生成时的朝向。可编辑字段使用欧拉旋转,由引擎打包为四元数朝向。插值的值位于两个朝向之间的最短路径上,而不是分别对每个值进行插值。

| 属性 | 描述 |
|---|---|
| Seed offset | 用于随机数。将其设置为相同的值可强制朝向与具有 1 个属性的其他粒子字段(例如大小)耦合。将它们设置为不同的值可强制朝向唯一且独立于其他字段。 |
| Orientation A | 第一个朝向位置 |
| Orientation B | 第二个朝向位置 |
方向(Direction)
此初始化器在粒子属性中创建 Direction 字段并设置其初始值。某些形状构建器(如 Trail 形状或 Direction Aligned Sprite 形状)会使用粒子的方向来正确显示它。
| 属性 | 描述 |
|---|---|
| Seed offset | 用于随机数。将其设置为相同的值可强制方向与具有 3 个属性(X、Y、Z)的其他粒子字段(例如位置)耦合。将它们设置为不同的值可强制速度唯一且独立于其他字段。 |
| Direction min | 盒体的左下后角 |
| Direction max | 盒体的右上前角 |
生成顺序(Spawn Order)
此初始化器没有属性。它只是为此发射器生成的每个粒子设置一个递增的数字,从 0 开始。生成顺序可用于排序或某些自定义计算。
位置(圆弧,Position (Arc))
圆弧位置初始化器将粒子放置在两个点之间(发射器位置和目标变换组件)的圆弧上(如果圆弧高度为 0 则为直线)。通过随机位置偏移,你可以让粒子在圆弧上稍微偏离它们的原始位置。

| 属性 | 描述 |
|---|---|
| Seed offset | 用于随机数。将其设置为相同的值可强制位置与具有 3 个属性(X、Y、Z)的其他粒子字段(例如速度)耦合。将它们设置为不同的值可强制位置唯一且独立于其他字段。 |
| Position min | 盒体的左下后角 |
| Position max | 盒体的右上前角 |
| Target | 允许你选择一个 Entity 作为圆弧的终点。如果未设置 Entity,将使用 Fallback Target,它是相对于发射器位置的偏移。 |
| Fallback Target | 相对于发射器位置的偏移,在未设置 Target 时用作终点 |
| Arc Height | 圆弧在其最高点(两点之间距离的中点)的高度。默认情况下它是 Y 向上向量,但可以通过旋转偏移和旋转继承进行旋转 |
| Ordered | 如果勾选,新粒子将按从发射器到目标的顺序出现。如果未勾选,新粒子将随机出现在圆弧上发射器和目标之间的任何位置。如果你打算将粒子可视化为缎带或轨迹,应将此框设置为勾选。 |
| Fixed count | 默认情况下,粒子将按足够的距离出现在圆弧上,使最大粒子数恰好容纳在直线上。如果你想控制生成速率和距离,可以设置圆弧上有多少个固定的"位置"。例如,在固定数量为 10 且按顺序生成的情况下,前 10 个粒子将按顺序出现,然后第 11 个粒子将从头开始出现,与第一个粒子位置相同,依此类推。 |
| Seed offset | 用于随机数。将其设置为相同的值可强制位置与具有 3 个属性(X、Y、Z)的其他粒子字段(例如速度)耦合。将它们设置为不同的值可强制位置唯一且独立于其他字段。 |
| Position min | 盒体的左下后角。这是圆弧位置之外的额外偏移。 |
| Position max | 盒体的右上前角。这是圆弧位置之外的额外偏移。 |
位置(父级,Position (parent))
| 属性 | 描述 |
|---|---|
| Seed offset | 用于随机数。将其设置为相同的值可强制位置与具有 3 个属性(X、Y、Z)的其他粒子字段(例如速度)耦合。将它们设置为不同的值可强制位置唯一且独立于其他字段。 |
| Position min | 盒体的左下后角 |
| Position max | 盒体的右上前角 |
| Parent emitter | 你必须输入父级发射器的名称。子粒子的位置将与父级发射器的粒子位置匹配。 |
| Parent Offset | 用于耦合或解耦父级粒子选择方式的随机种子。例如,如果你想从看起来随机的粒子中同时选择位置和颜色,你可以使用相同的偏移。如果你想避免这种关联,可以为位置和颜色初始化器使用不同的偏移。 |
| Spawn Control Group | 当为 None 时,将随机选择父级。当设置为四个组之一时,只会初始化来自特定父级的粒子。它应与Spawn from Parent 生成器中的某个控制组匹配才能正常工作。 |
速度(父级,Velocity (parent))
| 属性 | 描述 |
|---|---|
| Seed offset | 用于随机数。将其设置为相同的值可强制速度与具有 3 个属性(X、Y、Z)的其他粒子字段(例如位置)耦合。将它们设置为不同的值可强制速度唯一且独立于其他字段。 |
| Velocity min | 盒体的左下后角 |
| Velocity max | 盒体的右上前角 |
| Parent emitter | 你必须输入父级发射器的名称。子粒子的位置将与父级发射器的粒子位置匹配。 |
| Parent Offset | 用于耦合或解耦父级粒子选择方式的随机种子。例如,如果你想从看起来随机的粒子中同时选择位置和颜色,你可以使用相同的偏移。如果你想避免这种关联,可以为位置和颜色初始化器使用不同的偏移。 |
| Spawn Control Group | 当为 None 时,将随机选择父级。当设置为四个组之一时,只会初始化来自特定父级的粒子。它应与 Spawn from Parent 生成器中的某个控制组匹配才能正常工作。 |
大小(父级,Size (parent))
| 属性 | 描述 |
|---|---|
| Seed offset | 用于随机数。将其设置为相同的值可强制大小与具有 1 个属性的其他粒子字段(例如颜色)耦合。将它们设置为不同的值可强制大小唯一且独立于其他字段。 |
| Random size | 显示粒子在生成时可以具有的最小和最大大小 |
| Parent emitter | 你必须输入父级发射器的名称。子粒子的位置将与父级发射器的粒子位置匹配。 |
| Parent Offset | 用于耦合或解耦父级粒子选择方式的随机种子。例如,如果你想从看起来随机的粒子中同时选择位置和颜色,你可以使用相同的偏移。如果你想避免这种关联,可以为位置和颜色初始化器使用不同的偏移。 |
| Spawn Control Group | 当为 None 时,将随机选择父级。当设置为四个组之一时,只会初始化来自特定父级的粒子。它应与 Spawn from Parent 生成器中的某个控制组匹配才能正常工作。 |
颜色(父级,Color (parent))
| 属性 | 描述 |
|---|---|
| Seed offset | 用于随机数。将其设置为相同的值可强制颜色与具有 1 个属性的其他粒子字段(例如大小)耦合。将它们设置为不同的值可强制颜色唯一且独立于其他字段。 |
| Color A | 第一个值,以十六进制代码表示。颜色将是此颜色与第二种颜色之间的随机色调。 |
| Color B | 第二个值,以十六进制代码表示。颜色将是此颜色与第一种颜色之间的随机色调。 |
| Parent emitter | 你必须输入父级发射器的名称。子粒子的位置将与父级发射器的粒子位置匹配。 |
| Parent Offset | 用于耦合或解耦父级粒子选择方式的随机种子。例如,如果你想从看起来随机的粒子中同时选择位置和颜色,你可以使用相同的偏移。如果你想避免这种关联,可以为位置和颜色初始化器使用不同的偏移。 |
| Spawn Control Group | 当为 None 时,将随机选择父级。当设置为四个组之一时,只会初始化来自特定父级的粒子。它应与 Spawn from Parent 生成器中的某个控制组匹配才能正常工作。 |
生成顺序(父级,Spawn Order (parent))
此初始化器要求父级发射器也有一个 Spawn Order 初始化器。它将父级的生成编号与自身的生成编号相结合,在子级中有效地创建粒子组。此初始化器是正确排序和渲染子级缎带粒子所必需的。
| 属性 | 描述 |
|---|---|
| Parent emitter | 你必须输入父级发射器的名称。子粒子的位置将与父级发射器的粒子位置匹配。 |
| Parent Offset | 用于耦合或解耦父级粒子选择方式的随机种子。例如,如果你想从看起来随机的粒子中同时选择位置和颜色,你可以使用相同的偏移。如果你想避免这种关联,可以为位置和颜色初始化器使用不同的偏移。 |
| Spawn Control Group | 当为 None 时,将随机选择父级。当设置为四个组之一时,只会初始化来自特定父级的粒子。它应与 Spawn from Parent 生成器中的某个控制组匹配才能正常工作。 |