フィールド2

フィールドの使用例2

newtonコマンドの使用例

以下のスクリプトを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];
}

  1. particle -p 5 10 0; パーティクルを(5, 10, 0)の位置に作る。
  2. $name1 = `emitter -type "direction" -dx 0 -dy -1 -dz 0 -spread 0.2 -rate 3`; そのパーティクルに対してY軸に対して下方向に発生・運動するエミッターを作り、作られたエミッターの名前を$name1(配列)に代入する。
  3. $name2 = `particle`; 後でemitterによって発生されるパーティクルを作って、その名前を$name2という変数(配列)に代入しておく。
  4. connectDynamic -emitters $name1[0]; emitterとパーティクル($name1[0])をコネクトしてパーティクルを発生させる。
  5. $name1 = `newton -pos 0 0 0 -magnitude 1.0 -maxDistance 8.0`; newtonフィールド作る。 作られたnewtonフィールドの名前を$name1に代入しておく。
    各フラグの意味は以下の通り。
    -pos 0 0 0
    位置は0 0 0
    -magnitude 1.0
    newtonの力の大きさ
    -maxDistance 8.0
    newtonの届く範囲は8.0の距離まで
  6. connectDynamic -fields $name1[0] $name2[0]; newtonフィールド($name1)をパーティクル($name2)に接続する。 これでパーティクルがnewtonフィールドによって影響されるようになる。

練習

参考


Prev | Next
Home | Contents
abe@injapan.net