ゴール

ゴールとは

ゴール(Goal)とはパーティクルが目標とするオブジェクトのことである。
カーブオンサーフェイスを除くすべてのオブジェクトをゴールにすることができる。
また、ひとつのパーティクルに対してゴールを複数対応させることもできる。
ゴールはgoal コマンドによって作られる。

goalのオプション

-goal string
ゴールとするオブジェクトの名前(string)
-weight float
goalが影響する度合(0.0 〜 1.0)
0.0だと影響なし、1.0だと正確にゴールを目指す

goalコマンドの使用例

エミッターから発生したパーティクルがnurbsPlaneに向かって移動し最後にnurbsPlaneで止まるアニメーション。
以下のスクリプトをmakeGoal1.melという名前で作り、makeGoal1();によって実行させてみよう。

global proc makeGoal1()
{
	$name1 = `nurbsPlane`;
	$name2 = `emitter -pos 0 5 5 -type "direction" -dx 0 -dy -1 -dz 0 -spread 0.5 -rate 3`;
	$name3 = `particle`;
	connectDynamic -emitters $name2[0] $name3[0];
	goal -goal $name1[0] -weight 0.75 $name3[0];
}
  1. $name1 = `nurbsPlane`; goalとなるnurbsPlaneを作る。
  2. $name2 = `emitter -pos 0 5 5 -type "direction" -dx 0 -dy -1 -dz 0 -spread 0.5 -rate 3`; パーティクルを発生させるためのエミッターを作る。
  3. $name3 = `particle`; エミッターによって発生するパーティクルを作る。
  4. connectDynamic -emitters $name2[0] $name3[0]; パーティクル($name3[0])をエミッター($name2[0])とコネクトしてエミッターからパーティクルが発生するようにする。
  5. goal -goal $name1[0] -weight 0.75 $name3[0]; nurbsPlane($name1[0])を目標としてパーティクル($name3[0])が吸い込まれてゆくようにgoalを作る。

練習

参考


Prev | Next
Home | Contents
abe@injapan.net