フィールド

フィールドとは

フィールドによって自然界にある様々な力をシュミレートしてアニメーションを実行することができる。
作られたフィールドはconnectDynamic -fieldsによってパーティクルなどにコネクトする。

フィールドの種類

フィールドの使用例 (air)

以下のプロシージャーによってエミッターから発生するパーティクルがairフィールドによって飛ばされる。

  1. 以下のMELスクリプトをmakeField1.melという名前で作る。
    global proc makeField1()
    {
    	particle -p 0 5 0;
    	string $ename[] = `emitter -type "direction" -dx 0.0 -dy -1.0 -dz 0.0 -spread 0.2 -rate 3`;
    	string $pname[] = `particle`;
    	connectDynamic -emitters $ename[0] $pname[0];
    	string $aname[] = `air -pos 3 0 0 -maxDistance 5.0 -magnitude 1.0 -dx -1.0 -dy 0.0 -dz 0.0`;
    	connectDynamic -fields $aname[0] $pname[0];
    }
    
  2. Script Editorの File -> Source Script によってmakeField1.melを読み込む。
  3. Script Editorの下のウインドウからmakeField1();と打ち込んで実行する。
  4. プレイバックする。

フィールドの使用例(newton)

以下のプロシージャーによってエミッターから発生するパーティクルがnewtonフィールドによってnurbsPlaneの中に吸い込まれてゆく。

  1. 以下のMELスクリプトをmakeField2.melという名前で作る。
    global proc makeField2()
    {
    	particle -p 5 10 0;
    	string $ename[] = `emitter -type "direction" -dx 0.0 -dy -1.0 -dz 0.0 -spread 0.2 -rate 3`;
    	string $pname[] = `particle`;
    	connectDynamic -emitters $ename[0] $pname[0];
    	nurbsPlane;
    	scale 0 10 10;
    	string $nname[] = `newton -magnitude 1.0 -maxDistance 8.0 -attenuation 0.98`;
    	connectDynamic -fields $nname[0] $pname[0];
    }
    
  2. Script Editorの File -> Source Script によってmakeField2.melを読み込む。
  3. Script Editorの下のウインドウからmakeField2();と打ち込んで実行する。
  4. プレイバックする。
    [image of makeField2.mel]

スクリプトの前半はmakeField1.melと同じなので、後半のみ解説する。

練習

練習課題

参考


Prev
Home | Contents
abe@injapan.net