NukeXのパーティクル機能を使用して下のアニメーションのような跳ね返るパーティクルを作成します。
ここでは四角いオブジェクトの中に発生したパーティクルが壁にぶつかり内側に跳ね返るアニメーションをします。
作成方法
パーティクルの粒子を作成
まずはパーティクルの粒子をRadialノードで作成します。
RadialノードのpropertyでColorタブに移動し、rampをlinearに変更し、2色のグラデーションを作ります。
Particleのセットアップ
ParticleEmitterを出しparticleのパイプにRadialをつなげます。
ParticleEmitterのpropertyを以下の値に設定します。
Emission rate: 20
max lifetime: 200
velocity: 0.025
spread: 1
ParticleBounceノードを出しparticleのパイプにParticleEmitterをつなげます。
ParticleBounceのpropertyを以下の値に設定します。
internal bounce mode: bounce
↓どんな形状に跳ね返るかを設定します。
object:input(インプットに接続しているgeometry)
Cubeノードを出し、ParticleBounceのgeometryパイプに接続します。
ノードグラフは下の画像のようになります。
3Dビューで見ると下の画像のようになります
下記のNukeスクリプトをコピーしてNukeのNodeGraphへペーストするとこのデータを使用することができます。
set cut_paste_input [stack 0]
version 11.1 v3
Camera2 {
inputs 0
translate {0 0 4}
name Camera2
selected true
xpos 4295
ypos 17
}
Cube {
inputs 0
name Cube1
selected true
xpos 4431
ypos -19
}
push $cut_paste_input
Radial {
area {320 270 911 810}
ramp linear
color {1 0.44 0.245 1}
color_panelDropped true
p1 {856 726}
color0 {0 0.27 0 0}
color0_panelDropped true
p0 {390 332}
name Radial1
selected true
xpos 4553
ypos -89
}
push 0
push 0
ParticleEmitter {
inputs 3
rate 20
lifetime 200
velocity 0.025
spread 1
name ParticleEmitter3
selected true
xpos 4553
ypos -30
}
ParticleBounce {
inputs 2
in_bounce 0.095
in_friction 0.42
object input
name ParticleBounce1
selected true
xpos 4553
ypos 36
}
push 0
ScanlineRender {
inputs 3
conservative_shader_sampling false
motion_vectors_type distance
name ScanlineRender2
selected true
xpos 4387
ypos 110
}
また、ParticleBounceのobjectをplaneにすると板に跳ね返るような表現になります。