MELの応用 2 (岩石)

岩石を作る 2

前回の岩石を自動生成するスクリプトを、 ラティスデフォーマを利用したものに改良してみましょう。

岩石を作る方法 2

基本的な考え方は前回と同じですが、ポリゴンにデフォーマをかけて全体がゆがんだ形になるようにしてみます。

今回の作り方は以下の通りです。

  1. ポリゴンの球を作ります。
  2. ラティスデフォーマを作成します。
  3. 乱数を 3 つ発生させます。
  4. その乱数で X, Y, Z 方向に、ラティスデフォーマにスケールをかけます。
  5. ラティスデフォーマの各制御点に対して以下の処理を繰り返します。
    1. 乱数を 3 つ発生させます。
    2. その乱数で制御点を X, Y, Z 方向に移動させます。

岩石を作るプログラム 2

まず、1 個だけ岩石を作るスクリプトを作ってみましょう。

  1. 以下の MEL スクリプトを Python スクリプトに書き直して、 makeRock4.py という名前で保存します。
    global proc makeRock4()
    {
    	polySphere;
    	string $lname[] = `lattice -divisions 2 5 2 -objectCentered true`;
    	float $x = rand(1.0, 3.0);
    	float $y = rand(1.0, 3.0);
    	float $z = rand(1.0, 3.0);
    	scale $x $y $z;
    	string $points[] = `filterExpand -selectionMask 46 ($lname[1] + ".pt[0:1][0:4][0:1]")`;
    	for($obj in $points)
    	{
    		$x = rand(-0.6, 0.6);
    		$y = rand(-0.6, 0.6);
    		$z = rand(-0.6, 0.6);
    		select -r $obj;
    		move -r $x $y $z;
    	}
    }
    
  2. スクリプト エディタ の ファイル → スクリプトのロード によって makeRock4.py を読み込んで、テンキーの Enter キーなどで実行します。
  3. スクリプト エディタ で以下のコマンドを実行してみます。
    makeRock4()
    [makeRock4() の実行例]

練習

参考


Prev | Next
Home | Contents
Mail