粒子系统初始化器

From Valve Developer Community
< Zh
Jump to navigation Jump to search
English (en)中文 (zh)Translate (Translate)

初始化器 会设定每个粒子的初始状态. 如果要添加一个初始化器的话, 把“属性”一列设置为 "Initializer" 并在下方窗口中右键。 “add..”窗口将会弹出。

随机透明度(Alpha Random)

向粒子添加一个随机的 alpha(en)值。 0表示完全透明,255表示完全不透明。

alpha_min
alpha_max
透明度的最大/最小值
alpha_random_exponent
[待完善]

随机颜色(Color Random)

从一个固定的范围内随机选择颜色, 并且(或者) 使用场景内的光照对粒子染色

color1
color2
这两个参数共同定义了颜色的选择范围。
tint_perc
这个度数用来设定环境光照射时的角度。
tint control point
环境光颜色的取样位置。如果使用了这个参数,单粒子光将会被禁用。
tint control point movement threshold
这是一个优化功能。初始化器会检查控制点到初始位置的距离,只有比上一次刷新时更大的情况下,初始化器才会刷新,重新确认环境光染色效果。
tint clamp min/max
将环境光取样点的位置锁定在一定范围内,保持光线在一个理想的变化范围。

速度继承(Inherit Velocity)

如果粒子发射器从属于一个移动的实体,粒子可以继承实体的移动速度。

velocity scale
设定对速度的继承比例。允许高于100%。

从片段长度定义粒子持续时间(Lifetime from Sequence)

在固定的帧频下,可以根据片段的长度设定粒子的持续时间。 当一个粒子被用在很多不同长度的片段中时,可以使用这个方法来设定粒子的持续时间。(比如说有些片段长10帧,有些长60帧, 但前提是所有片段必须能正常播放,不能使用较慢的帧率,或其他“不正常”的设置)


Frames Per Second
设定合适的帧率。这会根据片段的帧数设定粒子的持续时间。帧数可以从sequence_random或者别的用来定义帧数的初始化器获取。

随机持续时间(Lifetime Random)

设定合适的帧率。这会根据片段的帧数设定粒子的持续时间。帧数可以从sequence_random或者别的用来定义帧数的初始化器获取。

Lifetime_min
Lifetime_max
粒子持续的最大/最小秒数。

预生成效果(Lifetime Pre-Age Noise)

让粒子以整个动画片段中的某一个节点的效果生成,就像粒子已经“提前”生成了一段时间。所有有关粒子持续时间的操作都会正常运行。

start age minimum
start age maximum
附加给粒子的最大/最小“提前”时间。
time noise coordinate scale
根据粒子的生成时间,这个方法将会定义Noise函数中“时间”部分的比例。 较大的值会让效果看起来更富有变化,较小的值则让效果更加相像。
spatial noise coordinate scale
根据粒子的生成时间,这个方法将会定义Noise函数中“生成位置”部分的比例。 较大的值会让效果看起来更富有变化,较小的值则让效果更加相像。时间部分和位置部分是叠加作用的, 所以设定任意一个部分为0将不会得到任何特效。
time coordinate offset
这个方法用来设定Noise函数时运行的补偿。本质上是保持原先的时间输入量不变,在进行随机时换用另一个随机种子(粒子中大部分函数是带有一定随机的)。
spatial coordinate offset
这个方法用来设定Noise函数时运行的补偿。本质上是保持原先的位置输入量不变,在进行随机时换用另一个随机种子。
absolute value
在输出时,Noise函数将会返回-1到1之间的值。通过这个方法(绝对值,用1/0来设置), 函数的输出值将不会进入负区间,而是在逼近0时调转方向,逐渐变大。
invert absolute value
这个方法本质上说是“翻转”了“绝对值”功能所输出的函数曲线,所以曲线中的峰值会变为谷值。数学上讲,“翻转”后的函数值等于1减去原先的函数值。
absolute value
在输出时,Noise函数将会返回-1到1之间的值。通过这个方法(绝对值,用1/0来设置), 函数的输出值将不会进入负区间,而是在逼近0时调转方向,逐渐变大。
invert absolute value
这个方法本质上说是“翻转”了“绝对值”功能所输出的函数曲线,所以曲线中的峰值会变为谷值。数学上讲,“翻转”后的函数值等于1减去原先的函数值。

在两个控制点间移动粒子(Move Particles Between 2 Control Points)

以一定的速度在两个控制点间移动粒子。 对某些跟踪粒子特别有用。比如激光束,或者狙击枪的弹道轨迹。 一般情况下,粒子移动到终点后就会停留在那里, (意思是,如果新的粒子被产生,它们会在控制点的终点被生成然后马上消失). 为避免这种情况,可以在"Move Particles Between 2 Control Points"这条记录上面添加一个"Position Along Path Sequential" 初始化器,并且把起点和终点都设为0。

end control point
粒子移动的终点
start offset
对粒子位置(粒子实际开始移动的位置和控制点的起点)和移动方向的补偿。
end spread
粒子相对于终点的分散程度。效果类比喷射器的喷雾效果、。
maximum speed
粒子移动过程中的最大速度。
minimum speed
粒子移动过程中的最小速度。

随机位置补偿(Position Modify Offset Random)

相对于发射点,改变粒子的初始位置. 比如说要发射一束粒子,但是同时还要使用部分发射器,或者要相对于第二个控制点来操作粒子,就可以用这个方法。

offset min
XYZ 方向上的最小补偿。
offset max
XYZ 方向上的最大补偿。
Offset in local space
这个布尔值(0/1)表示补偿作用的范围。1代表在部分中,0代表在全局。
offset relative to radius
这个布尔值(0/1)表示是否要根据粒子半径确定补偿多少。 比如说补偿被设置为0,0,1, 那么半径为32的粒子将会垂直地运动32个单位,半径为64的则运动64个单位。
control_point_number
用来定义补偿将相对于哪个控制点进行。

随机形变补偿(Position Modify Warp Random)

相对于发射点,在全局或部分中扭曲粒子的初始位置。可以用来拉伸刚发射时的形状,比如把球体拉成椭圆。 另外,这个功能对于粒子的分布偏好(见下文)和创建扁圆顶和环形(比如TP时的圆环等)很有用。 粒子的初始速度也会根据这个量,相应地被改变。因此被拉长的粒子会有较高的初始速度, 被压缩的粒子则有更低的速度。.

warp min
XYZ方向上的最小扭曲程度。
warp max
XYZ 方向上的最大扭曲程度。
local coordinate space
这个布尔值(0/1)表示作用的范围。1代表在部分中,0代表在全局。
control_point_number
用来定义补偿将相对于哪个控制点进行。
warp transition time
形变过渡的时间。对于在固定时长内发生的形变,这个功能用来定义形变的起始/终止比例,因此每个新粒子在发射时,都会在一段时间内产生形变。
warp transition start time
形变过渡的开始时间。
reverse warp
让形变逆向进行(从最大值到最小值)。

在立方体区域内随机生成位置(Position Within Box Random)

粒子将会在一个给定尺寸立方体区域内随机生成。

x_min
x_max
正/负X方向单位。
y_min
y_max
正/负Y方向单位。
z_min
z_max
正/负Z方向单位。

在球形区域内随机生成位置(Position Within Sphere Random)

让粒子在球形区域内以一定速度生成。

distance_min
生成时粒子距球心的最小距离。
distance_max
生成时粒子距球心的最大距离。
distance_bias
粒子分布的“偏好”。 如果设置为1,1,0, 粒子只会分布在XY轴构成的平面上; 如果设置为1,1,10,那么在球体顶部和底部的粒子数大约是X和Y方向上的十倍。 这个在创建碟状物,环状物和极坐标效果的时候很有用。
distance_bias_absolute_value
如果把任意坐标的参数设为1,那么粒子只会分布在一个半球内,所以很适合用来创建半球或四分之一球之类的区域。这个方法里可以使用“距离偏好”来更改粒子的分布。将其设为负值表示粒子将会分布在另一个半球(相对于设置为1时的那半个)。
bias_in_local_system
这个布尔值(0/1)表示分布偏好作用的范围。1代表在部分中,0代表在全局。
control_point_number
用来定义补偿将相对于哪个控制点进行。
speed_min
粒子向外射出球体的最小速度。
speed_max
粒子向外射出球体的最大速度。
speed_random_exponent
这个参数用来定义粒子对随机的移动方向的“偏好”。
speed_in_local_coordinate_system_min
在部分区域内,粒子在xyz轴上的最小初始速度。
speed_in_local_coordinate_system_max
在部分区域内,粒子在xyz轴上的最大初始速度。

随机半径(Radius Random)

在初始化时给予粒子随机的半径。

radius_min
粒子的最小半径。
radius_max
粒子的最大半径。

重置初始标量(Remap Initial Scalar)

这个方法可以用来改变粒子属性中的一些标量。对于一些具有计时系统的粒子很有用,它让你可以摆脱一些限制(比如说比例),创造出一些例如具富有变化的透明度的效果。

input field
要读取的区域。
input minimum
读取的下限。
input maximum
读取的上限。
output field
要绘制的区域。
output minimum
绘制的下限。
output maximum
绘制的上限。
output is scalar of initial random range
不覆盖输出区域的初始值, 被重绘的值将附加在初始值边上。

Noise函数-标量重置(Remap Noise to Scalar)

通过Noise函数,可以将任何标量参数设置在一定区间内。 Noise将基于时间和空间进行重绘, 空间和时间都具有相应的比例和补偿。这个方法不是随机的,而是在区间内根据粒子的创建时间和创建位置,在区间内进行相应的变化。

time noise coordinate scale
根据粒子的生成时间,这个方法将会定义Noise函数中“时间”部分的比例。 较大的值会让效果看起来更富有变化,较小的值则让效果更加相像。
spatial noise coordinate scale
根据粒子的生成时间,这个方法将会定义Noise函数中“生成位置”部分的比例。 较大的值会让效果看起来更富有变化,较小的值则让效果更加相像。时间部分和位置部分是叠加作用的, 所以设定任意一个部分为0将不会得到任何特效。
output field
这个标量用来设定所有的初始状态。 粒子的半径,旋转,透明度, 持续时间等。
time coordinate offset
这个方法用来定义Noise函数运行时的补偿。 在Noise函数中,两个有着不同输出的标量(比如说透明度和半径),在同一坐标比例中是完全一样的。同比例绘图是允许的, 但是需要在Noise函数中的另一个方法内实现。 所以说,所有的小粒子都可以同时具有高透明度(高alpha值),而不是按照比例来,具有一个很小的alpha值。
spatial coordinate offset
(时间部分与空间部分原理相同)这个方法用来定义Noise函数运行时的补偿。 在Noise函数中,两个有着不同输出的标量(比如说透明度和半径),在同一坐标比例中是完全一样的。同比例绘图是允许的, 但是需要在Noise函数中的另一个方法内实现。 所以说,所有的小粒子都可以同时具有高透明度(高alpha值),而不是按照比例来,具有一个很小的alpha值。(时间部分与空间部分原理相同)
absolute value
在输出时,Noise函数将会返回-1到1之间的值。通过这个方法(绝对值,用1/0来设置), 函数的输出值将不会进入负区间,而是在逼近0时调转方向,逐渐变大。
invert absolute value
这个方法本质上说是“翻转”了“绝对值”功能所输出的函数曲线,所以曲线中的峰值会变为谷值。数学上讲,“翻转”后的函数值等于1减去原先的函数值。
output minimum
Noise函数作用的下限。 这个功能限定了Noise函数输出区间的范围,比如说,要创造一个最小半径为12的烟雾粒子效果,可以把这个值设为12。
output maximum
Noise函数作用的上限。 这个功能限定了Noise函数输出区间的范围,在上个例子里,若将这个值设为24,保持output minimum 为12,将会创造一个最小半径12,最大半径24的烟雾粒子效果。

随机旋转(Rotation Random)

由基础速度开始,并用补偿来调整粒子的旋转速度。所有旋转均以度每秒为单位。

rotation_initial
粒子的初始旋转速度
rotation_offset_min
随机补偿的最小值。
rotation_offset_max
随机补偿的最大值。

随机旋转速度(Rotation Speed Random)

用来定义单粒子的旋转速度。 Rotation Basic控制器可以基于粒子的旋转速度来校正粒子的旋转。

rotation_speed_constant
固定的旋转速度,单位是度/每秒。
rotation_speed_random_min
粒子旋转的最小随机速度。单位是度/每秒。
rotation_speed_random_max
粒子旋转的最大随机速度。单位是度/每秒。
rotation_speed_random_exponent
设定粒子对随机旋转速度的“偏好”。 =1表示平均分布, >1 表示更多地接近最大值, <1 表示更多地接近最小值。
randomly_flip_direction
设定为1时,将会向粒子的随机旋转速度乘-1。(顺时针旋转变为逆时针)

随机片段(Sequence Random)

让粒子选择一个随机的动画片段作为自己的初始形态。

例子:这个动画片段一共有六帧, 如果 'sequence_min' 被设为 2, 'sequence_max' 被设为4, 那么第2,3,4帧中的一帧将会被随机地选为粒子发射时的初始形态。
sequence_min
最小的开始帧。
sequence_max
最大的开始帧。

Noise函数-速度(Velocity Noise)

通过Noise函数,可以将任何标量参数设置在一定区间内。 Noise将基于时间和空间进行重绘, 空间和时间都具有相应的比例和补偿。这个方法不是随机的,而是在区间内根据粒子的创建时间和创建位置,在区间内进行相应的变化。

粒子的速度不是随机的, 而是在一开始被Noise函数定义。时间和在小范围内变化位置共同决定了粒子将被发射向何处。在上图中可以看到,粒子在一定范围内变化,但并不是随机的。
spatial noise coordinate scale
根据粒子的生成时间,这个方法将会定义Noise函数中“生成位置”部分的比例。 较大的值会让效果看起来更富有变化,较小的值则让效果更加相像。时间部分和位置部分是叠加作用的, 所以设定任意一个部分为0将不会得到任何特效。
time coordinate offset
这个方法用来设定Noise函数时运行的补偿。本质上是保持原先的时间输入量不变,在进行随机时换用另一个随机种子(粒子中大部分函数是带有一定随机的)。
spatial coordinate offset
这个方法用来设定Noise函数时运行的补偿。本质上是保持原先的位置输入量不变,在进行随机时换用另一个随机种子
absolute value
在输出时,Noise函数将会返回-1到1之间的值。通过这个方法(绝对值,用1/0来设置), 函数的输出值将不会进入负区间,而是在逼近0时调转方向,逐渐变大。
invert absolute value
这个方法本质上说是“翻转”了“绝对值”功能所输出的函数曲线,所以曲线中的峰值会变为谷值。数学上讲,“翻转”后的函数值等于1减去原先的函数值。
output minimum
Noise函数作用的下限。 这个方法设定了粒子的最小速度。当然,对于在全方向上运动的粒子,XYZ方向上的最小速度应该被设为负数。
output maximum
Noise函数作用的上限。 这个方法设定了粒子的最大速度。

粒子排斥效果(Velocity Repulse from World)

在生成时,制造一个粒子被推离物体表面的效果。轨迹将会沿着控制点的大致方向。在其他方向被阻挡的情况下,粒子将会选择一个最为开阔的方向发射。适合在封闭区域内制造一些类似于压力的效果。

minimum velocity
在没有物体阻挡的情况下,这个方法定义了粒子离开控制点的最小速度。
maximum velocity
粒子离开的最大速度。
collision group
粒子采用的碰撞效果。推荐设置成“DEBIRS”或者“NONE”。
control_point_number
确定粒子将基于哪个控制点变化。
Per Particle World Collision Tests
这个功能会让每个粒子独立地进行变化。谨慎使用。
Use radius for Per Particle Trace Length
让每个粒子的轨迹长测试粒子的半径。
Trace Length
各个方向上的追踪距离。
Inherit from Parent
当这个设定被设置为True, 控制点构成的区域将变成一个用来读取数据的区域。初始化器会从控制点内读取轨迹,而不是直接生成轨迹。 这个方法是用来重复执行一些内容的。父粒子运行一次, 之后其所有子粒子可以“继承”父粒子的有关属性并重复运作。
control points to broadcast to children (n + 1)
如果要向子粒子(们)传递数据的话, 这个方法定义了第一个控制点,并至少需要两个控制点来储存有关数据。
Child Group ID to affect
向子粒子(们)传递数据时, 仅向拥有这个方法里所定义的Group ID的子粒子(们)传递。