Zh/Particle System Initializers

初始化器 会设定每个粒子的初始状态. 如果要添加一个初始化器的话, 把“属性”一列设置为 "Initializer" 并在下方窗口中右键。 “add..”窗口将会弹出。
== 随机透明度（Alpha Random） ==
向粒子添加一个随机的 值。 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
: 最小的开始帧。
; sequence_max
: 最大的开始帧。
== Noise函数-速度（Velocity 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的子粒子（们）传递。