Table of Contents

粒子初始化器

中级 美术 程序员

初始化器(Initializer) 控制粒子首次生成时的状态,例如位置、速度、大小等。它们对之前各帧生成的粒子没有影响。

Note

某些更新器会在帧的末尾改变粒子的值。它们实际上会覆盖由类似的初始化器设置的任何初始值。所有动画都是如此。它们基于粒子的存活时间运行,颜色动画更新器会覆盖颜色初始化器的任何初始值。

类似地,作用于同一字段的初始化器是互斥的,只有最下面的那个才会生效,因为它们按顺序执行。例如,如果你分配两个颜色初始化器,只有第二个会生效。]

通用属性

多个属性在许多初始化器中是通用的。

media/particles-reference-initializers-1.png

属性 描述
Debug draw 在场景中绘制调试线框以显示初始化器的边界。这只在 Scene Editor 中可见,运行时不可见。
Position inheritance 继承粒子系统组件的位置,如粒子实体的 Transform 组件中所定义
Position offset 模块的额外平移。如果它继承了父级位置,这会应用在继承的位置之上。
Rotation inheritance 继承粒子系统组件的旋转,如 Transform 组件中所定义
Rotation offset 模块的额外旋转。如果它继承了父级的旋转,这会应用在继承的旋转之上。
Scale inheritance 继承粒子系统组件的均匀缩放,如 Transform 组件中所定义
Scale offset 模块的额外缩放。如果它继承了父级的缩放,这会应用在继承的缩放之上。

例如,速度初始化器可以根据父级的旋转改变其方向,也可以选择忽略它并始终以固定方向发射粒子。

另一方面,大小初始化器不会因父级的旋转而改变,因此旋转字段根本不会出现。

位置(Position)

粒子在一个轴对齐包围盒中生成,该包围盒由其左下后角和右上前角定义。

media/particles-reference-initializers-2.png

属性 描述
Seed offset 用于随机数。将其设置为相同的值可强制位置与具有三个属性(X、Y、Z)的其他粒子字段(例如速度)耦合。将它们设置为不同的值可强制位置唯一且独立于其他字段
Position min 盒体的左下后角
Position max 盒体的右上前角

这张图片显示了此发射器的粒子最初出现的包围盒。除了角点 (-1, 0.8, -1) ~ (1, 1, 1) 之外,从偏移旋转可以看到盒体还额外旋转了 45 度。

media/particles-reference-initializers-3.png

速度(Velocity)

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

media/particles-reference-initializers-4.png

属性 描述
Seed offset 用于随机数。将其设置为相同的值可强制速度与具有 3 个属性(X、Y、Z)的其他粒子字段(例如位置)耦合。将它们设置为不同的值可强制速度唯一且独立于其他字段。
Velocity min 盒体的左下后角
Velocity max 盒体的右上前角

大小(Size)

初始大小设置粒子首次生成时的均匀大小。大小为 1 时,渲染后将得到 1 米 x 1 米的公告板或四边形。

media/particles-reference-initializers-5.png

属性 描述
Seed offset 用于随机数。将其设置为相同的值可强制大小与具有 1 个属性的其他粒子字段(例如颜色)耦合。将它们设置为不同的值可强制大小唯一且独立于其他字段
Random size 显示粒子在生成时可以具有的最小和最大大小

旋转(Rotation)

初始旋转设置粒子面向摄像机时的角度旋转。正值为顺时针旋转。该字段仅对面向摄像机的粒子(如公告板)有意义。它对有朝向的四边形和模型没有影响。

media/particles-reference-initializers-6.png

属性 描述
Seed offset 用于随机数。将其设置为相同的值可强制角度与具有 1 个属性的其他粒子字段(例如颜色)耦合。将它们设置为不同的值可强制角度唯一且独立于其他字段
Angle (degrees) 初始旋转的最小值和最大值,以度为单位

颜色(Color)

初始颜色设置粒子生成时的初始颜色。它在构建粒子时进入顶点缓冲区,可以被材质使用,但如果材质本身没有设置该选项则可能不会使用。如果设置颜色没有效果,请参见材质页面了解更多讨论。

media/particles-reference-initializers-7.png

属性 描述
Seed offset 用于随机数。将其设置为相同的值可强制颜色与具有 1 个属性的其他粒子字段(例如大小)耦合。将它们设置为不同的值可强制颜色唯一且独立于其他字段
Color A 第一个值,以十六进制代码表示。颜色将是此颜色与第二种颜色之间的随机色调。
Color B 第二个值,以十六进制代码表示。颜色将是此颜色与第一种颜色之间的随机色调。

3D 朝向(3D Orientation)

初始 3D 朝向设置支持 3D 的粒子首次生成时的朝向。可编辑字段使用欧拉旋转,由引擎打包为四元数朝向。插值的值位于两个朝向之间的最短路径上,而不是分别对每个值进行插值。

media/particles-reference-initializers-8.png

属性 描述
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 则为直线)。通过随机位置偏移,你可以让粒子在圆弧上稍微偏离它们的原始位置。

media/particles-reference-initializers-5.png

属性 描述
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 生成器中的某个控制组匹配才能正常工作。

另请参阅