ゴール

ゴールとは

ゴール(Goal)とは、パーティクルが移動するときに目標とするオブジェクトのことです。
ゴールを設定することによって、 パーティクルと目標の物体の間に、スプリングがついているかのようなアニメーションを作成することができます。
カーブオンサーフェイスを除く、すべてのオブジェクトをゴールにすることができ 、 1 つのパーティクルに対してゴールを複数対応させることもできます。

ゴール使用例

文字を NURBS カーブで作成し、そのカーブから作られた プラナーサーフェス にゴールを設定してみましょう。

  1. 以下の MEL スクリプトをPyMELスクリプトに書き換えて makeString1.py という名前で作ります。
    global proc makeString1()
    {
    	string $text[] = `textCurves -f "Times-Roman" -t "Maya"`;
    	string $chars[] = `listRelatives $text[0]`;
    	string $psurf[];
    
    	int $i = 0;
    	for($curv in $chars)
    	{
    		string $pln[] = `planarSrf -polygon 1 $curv`;
    		$psurf[$i] = $pln[0];
    		setAttr ($psurf[$i] + ".v") 0;
    		$i++;
    	}
    	for($ps in $psurf)
    	{
    		string $ename[] = `emitter -pos 1.5 10.0 1.5 -type "direction" -dx 0.0 -dy -1.0 -dz 0.0 -spread 0.2`;
    
    		string $pname[] = `particle`;
    		setAttr ($pname[0] + ".particleRenderType") 4;
    		string $shp[] = `listRelatives -s $pname`;
    		addAttr -ln "radius" -at "float" $shp;
    		setAttr ($shp[0] + ".radius") 0.05;
    		connectDynamic -emitters $ename[0] $pname[0];
    
    		goal -goal $ps -weight 0.2 $pname[0];
    		setAttr ($pname[0] + ".conserve") 0.9;
    	}
    }
    
  2. スクリプト エディタファイル → ソーススクリプト によって makeString1.py を読み込みます。
  3. スクリプト エディタ のインプットウインドウで、makeString1() を実行します。
    (makeString1() 実行後の図)
    [makeString1() 実行後の図]
  4. アニメーションを実行します。
    [アニメーション実行の図]

Tips (フォントのリスト)

Maya で使用できるフォントのリストを表示するには、 以下のコマンドを実行します。

pm.fontDialog()

練習

参考


Prev | Next
Home | Contents
Mail