MELの応用1 (岩石)

岩石を作る

これからMELの応用として、岩・石を自動生成するスクリプトを作ってみよう。
最初は簡単なスクリプトから始めて徐々に複雑で実用的なものに書き直してゆく。
岩・石のようなものをMELによって自動生成するためには様々な方法が考えられる。
ここでは、まずなるべくシンプルな方法で作ってみる。

岩石を作るプログラム1

まず、1個岩石を作るスクリプトを作ってみる。
適当なプリミティブを作って、それをスケール・頂点の移動などで変形して岩石らしく見せる方法を試してみよう。

  1. 以下のプロシージャをmakeRock1.melと言う名前でファイルに書き込む。
    global proc makeRock1()
    {
    	float $val = rand (0.5, 2.0);
    	string $poly[] = `polySphere -r $val`;
    	$x = rand(0.8, 1.5);
    	$y = rand(0.8, 1.5);
    	$z = rand(0.8, 1.5);
    	scale $x $y $z;
    	string $ver[] = `polyListComponentConversion -toVertex $poly[0]`;
    	string $verE[] = `filterExpand -selectionMask 31 $ver`;
    	for($obj in $verE)
    	{
    		select -r $obj;
    		$x = rand(-0.1, 0.1);
    		$y = rand(-0.1, 0.1);
    		$z = rand(-0.1, 0.1);
    		move -r $x $y $z;
    	}
    }
    
  2. File -> Source Script でmakeRock1.melを読み込む。
  3. Script Editor で以下のコマンドを実行してみる。
    makeRock1();

練習

参考

練習課題


Prev | Next
Home | Contents
abe@injapan.net