制御構造(if, switch)

MELにおけるifとswitch

MELにおいて条件・値によってコマンドを実行するかどうかを決めるには、C言語と同じように if, switchなどを使用する。

ifの使用例

半径$radが5.0以下の場合は円上に球を、半径が5.0以上の場合はキューブを$num個並べるMELスクリプト。

  1. 以下のMELスクリプトをcircleObjects.melという名前で作る。
    global proc circleObjects(float $rad, int $num)
    {
    	float $r;
    	float $add;
    	float $rr = 360.0;
    
    	$add = $rr / $num;
    	for($r = 0.0; $r < $rr; $r += $add)
    	{
    		if($rad <= 5.0)
    		{
    			sphere;
    		}
    		else
    		{
    			nurbsCube;
    		}
    		move $rad 0 0;
    		rotate -p 0 0 0 0 $r 0;
    	}
    }
    
  2. MAYAを立ち上げる。
  3. 一番上のメニューバーから Window -> General Editors -> Script Editor によって Script Editor を表示する。
  4. Script Editorの File -> Source Script によってcircleObjects.melを読み込む。
  5. コマンドラインからcircleObjects(4, 6);と打ち込んで実行する。
  6. 半径1の球が半径4の円上に6個作られる。
    image of circleObjects(4, 6)
  7. コマンドラインからcircleObjects(6, 7);と打ち込んで実行する。
  8. 一辺1のキューブが半径6の円上に7個作られる。
    image of circleObjects(6, 7)

練習

まとめ

参考


Prev | Next
Home | Contents
abe@injapan.net