プリミティブを使ったMELスクリプト

球を円形に並べる

球を半径$radの円上に$num個並べるMELスクリプト。

global proc circleSphere(float $rad, int $num)
{
	float $x, $z;
	float $r;
	float $add;
	float $rr = 2 * 3.1415;

	$add = $rr / $num;
	for($r = 0.0; $r < $rr; $r += $add)
	{
		$x = $rad * cos($r);
		$z = $rad * sin($r);
		sphere;
		move $x 0.0 $z;
	}
}

実行方法

ここではスクリプトをディレクトリにいれておいてMAYA実行時に 時動的に読み込むようにしてみよう。

  1. 上のスクリプトをcircleSphere.melというファイル名で作る。
  2. circleSphere.melを~/maya/scriptsの中にコピーする。
  3. MAYAのコマンドラインよりcircleSphere(5, 10)と打ち込む。
  4. 10個の球が半径5の円上に作られる。

この方法では1度実行した後で、circleSphere.melを書き換えると Script Editor -> File -> Source Script でもう一度読み込ませないと変更した箇所が反映されない。

参考


prev | next
Home | Contents
Mail