ParticleBlinkScript属性和参数
在ParticleBlinkScript内核中可以使用以下粒子属性:
float3 p_position |
粒子的当前位置。 |
float3 p_initialPosition |
粒子的起始位置。 |
float3 p_lastPosition |
粒子的先前位置。 |
float3 p_velocity |
粒子的速度。 |
float4 p_color |
粒子的颜色。 |
float3 p_size |
粒子的大小。 |
float4 p_orientation |
粒子的方向。 |
float3 p_rotationAxis |
粒子的旋转轴。 |
浮动p_rotationAngle |
粒子的旋转角度。 |
float p_rotationVelocity |
粒子的旋转速度。 |
浮动p_mass |
粒子的质量。 |
浮动p_life |
粒子的寿命。 |
浮动p_startTime |
粒子的开始时间。 |
所有粒子属性数组都是系统中粒子数量的大小,因此您可以根据需要传递尽可能多的粒子,并且它将同时遍历所有粒子。这样,您就可以编写内核,例如,可以根据速度和位置更改粒子颜色,或者编写新的力。
在ParticleBlinkScript中创建旋钮
参数也可以在内核中声明。使用BlinkScript节点时,会自动创建参数旋钮。ParticleBlinkScript节点的工作方式有所不同。自动创建旋钮的缺点是,您无法选择要为给定参数创建哪种类型的旋钮,也无法设置滑块或工具提示的范围。一种float3属性可能需要一个Color_knob或XYZ_knob。自动生成旋钮也意味着您无法控制控制面板中的布局。
相反,ParticleBlinkScript使用User Knobs并通过将其名称与参数匹配来绑定它们。如果您的内核有一个float4参数称为pa_color,然后将RGBA颜色用户旋钮称为 pa_color还必须创建将绑定到 float4 参数。
ParticleBlinkScript方法可能会花费更多时间,但更易于控制。
注意: 如果您没有为参数创建用户旋钮,则将其设置为默认值。的Create Knobs按钮为尚无参数的任何参数创建旋钮。这些可以根据需要进行删除,替换和编辑。
魔术属性
在内核中,拥有一些额外的信息(例如当前帧)可能会很有用。如果使用某些魔术名称定义了属性,ParticleBlinkScript将提供此功能。这些是:
浮动_frame |
当前帧Nuke正在渲染。 |
float _systemTime |
粒子系统的当前时间。 |
浮点数_dt |
此帧的时间增量。 |
float _startTime |
时间步的开始。 |
float _endTime |
时间步的结束。 |
所有这些都以下划线开头_区别于_ 内核属性。最常用的是_开始时间, _时间结束和 _dt。
这些属性可以一起使用以获取各种信息,例如:
_systemTime-p_startTime() |
粒子的年龄。 |
(_systemTime-p_startTime())/ life() |
粒子的年龄占其寿命的比例。 |
float _dt = max(0.0f,min(_dt,float(_endTime-p_startTime()))); |
施加力的正确时间增量。 |
注意: 有关为ParticleBlinkScript节点编写内核的更多信息,请参阅Nuke开发人员指南。
影像输入
除了粒子输入外,还可以将图像输入提供给ParticleBlinkScript节点,该节点可以连接到生成图像的节点。这些必须以名称开头图片_, 与eAccessRandom,否则它们将在粒子的迭代空间中迭代。
例如,声明一个名为image_texture创建一个名为texture。
带有额外图像输入的示例ParticleBlinkScript节点
额外的图像输入可用于将更多数据传递到内核,例如流图或高度图,并可用于各种目的,例如通过粒子在场景中的位置着色。
抱歉,您没有找到此帮助
为什么这没有帮助? (检查所有适用)
感谢您抽出宝贵时间给我们反馈。