--スクリプトを実行している現在のパーティクルを取得します。
pf_node_current = particleFlow.scriptRunner()
--現在のパーティクル システムが有効なノードである場合
if (pf_node_current != undefined) then
(
--パーティクルの合計数を取得します。
count = pf_node_current.NumParticles()
--1 からパーティクルの数だけループします。
for i in 1to count do
(
--コンテナ内のパーティクル インデックスに現在の i 値を設定します。
--コンテナ内の i 番目のパーティクルが現在のパーティクルになります。
pf_node_current.particleIndex = i
--パーティクルのエージを取得して、それに 5 を掛けて角度として使用して
--パーティクル速度を定義します。
--定数 5 を減少させると回転速度が下がります。
--定数を増加させると回転速度が上がります。
age = 5*pf_node_current.particleAge
--円の関数を使用して
--パーティクルの速度を計算します。
--参考:一般的に、円は、0 から 2*Pi までの範囲の角度と
--以下に示す X と Y の関数を使用して描くことができます。
--X = CenterX+Radius*Cos(Angle)
--Y = CenterY+Radius*Sin(Angle)
--この例では、CenterX と CenterY は 0 で、Radius は 0.05 単位、
--また角度はパーティクルのエージに基づきます (上記参照)。
--定数 0.05 を変更すると、パスの半径が変化します。
---0.05 (Z 速度)を変更すると、らせんの高さが変化します。
pf_node_current.particleSpeed = [0.05*cos(age), 0.05*sin(age), -0.05]
)--i ループを終了
)--if 終了
|