以下のスクリプトをmakeField4.melという名前で作り、makeField4();によって実行させてみよう。
以下のプロシージャーによってエミッターから発生するパーティクルがnewtonフィールドの方向に吸い込まれてゆく。
global proc makeField4()
{
particle -p 5 10 0;
$name1 = `emitter -type "direction" -dx 0 -dy -1 -dz 0 -spread 0.2 -rate 3`;
$name2 = `particle`;
connectDynamic -emitters $name1[0];
$name1 = `newton -pos 0 0 0 -magnitude 1.0 -maxDistance 8.0`;
connectDynamic -fields $name1[0] $name2[0];
}
particle -p 5 10 0;
パーティクルを(5, 10, 0)の位置に作る。
$name1 = `emitter -type "direction" -dx 0 -dy -1 -dz 0 -spread 0.2 -rate 3`;
そのパーティクルに対してY軸に対して下方向に発生・運動するエミッターを作り、作られたエミッターの名前を$name1(配列)に代入する。
$name2 = `particle`;
後でemitterによって発生されるパーティクルを作って、その名前を$name2という変数(配列)に代入しておく。
connectDynamic -emitters $name1[0];
emitterとパーティクル($name1[0])をコネクトしてパーティクルを発生させる。
$name1 = `newton -pos 0 0 0 -magnitude 1.0 -maxDistance 8.0`;
newtonフィールド作る。
作られたnewtonフィールドの名前を$name1に代入しておく。
connectDynamic -fields $name1[0] $name2[0];
newtonフィールド($name1)をパーティクル($name2)に接続する。
これでパーティクルがnewtonフィールドによって影響されるようになる。
makeField5(X方向, Y方向, Z方向, 速度, 影響する距離)
makeField6(フィールドの種類、X方向, Y方向, Z方向, 速度, 影響する距離)