エミッター2

emitterとエクスプレッション

ここではエミッターとエクスプレッションを組み合わせてアニメーションを実行する方法を試してみよう。

emitterコマンドの使用例2

以下のMELスクリプトをmakeEmitter5.melというファイルに書き込んで実行できるようにせよ。
このスクリプトは球の表面からパーティクルを発生させて(-type "surface")、パーティクルと球をエクスプレッションで回転させるプロシージャである。

global proc makeEmitter5()
{
	$name = `sphere`;
	scale 5 5 5;
	expression -object $name[0] -string "ry = 30 * time";
	emitter -type "surface" -normalSpeed 1.0 -tangentSpeed 0.0 -rate 1 -n emitter5;
	$name = `particle`;
	expression -object $name[0] -string "ry = 30 * time";
	connectDynamic -emitters emitter5 $name[0];
}

$name = `sphere`;
NURBSの球を作り、$nameに球の名前を代入しておく。
scale 5 5 5;
球を大きさ(スケール)を5にしておく。
expression -object $name[0] -string "ry = 30 * time";
$name[0]で表される球に対してry = 30 * timeというY軸方向に回転させるエクスプレッションを定義しておく。
emitter -type "surface" -spread 0.0 -rate 1 -n emitter5;
-type "surface"によってNURBSのオブジェクト表面からパーティクルの現れるエミッターを作る。 (名前はemitter5)
$name = `particle`;
エミッターによって出現するパーティクルを作り、作られたパーティクルの名前を$nameに代入しておく。
expression -object $name[0] -string "ry = 30 * time";
$name[0]で表されるパーティクルに対してry = 30 * timeというY軸方向に回転させるエクスプレッションを定義しておく。 (上で球に対して定義したエクスプレッションと同じもの)
connectDynamic -emitters emitter5 $name[0];
$name[0]で表されるパーティクルに対してエミッター(emitter5)をコネクトする。

練習

参考


Prev | Next
Home | Contents
abe@injapan.net