エミッター1

emitterコマンド

パーティクルを自動的に発生させるためにはemitterコマンドを使用する。
emitterによって点・面などから発生させたパーティクルのアトリビュートをキーフレームやエクスプレッションによって変化させてアニメーションさせることができる。

emitterコマンドのオプション

-type string
stringで表されるタイプでパーティクルを発生させる。
タイプの種類
omni
全方向にパーティクルが発生する。(デフォールト)
direction
ある方向だけにパーティクルが発生する。
-directionX, -directionY, -directionZなどで方向を定める。
surface
オブジェクト(nurbsのみ)の表面からパーティクルが発生する。
-directionX float
X方向のパーティクルの発生する方向を決める。(-typeがdirectionの場合のみ有効)
-directionY float
Y方向のパーティクルの発生する方向を決める。(-typeがdirectionの場合のみ有効)
-directionZ float
Z方向のパーティクルの発生する方向を決める。(-typeがdirectionの場合のみ有効)
-minDistance float
パーティクルの発生し始める距離を決める。
-maxDistance float
パーティクルの発生が終る距離を決める。
-minDistanceから -maxDistanceまでの距離の間でパーティクルが発生する。
-position float float float
エミッターの位置を定める。(ワールド座標)
-rate float
パーティクルを発生させる割合。
この値が大きいほど発生する個数が増加する。
-spread float
パーティクルを発生させる角度。(-typeがdirectionの場合のみ有効)
0から1の値を指定する。
-speed float
パーティクルの速度。
もとの速度にこの値を乗じた値が結果の速度になる。 例えば、0.5にするともとの速度の半分の速度になる。
-normalSpeed float
パーティクルの直角方向の速度。(-typeがsurfaceの場合のみ有効)
-tangentSpeed float
パーティクルの接線方向の速度。(-typeがsurfaceの場合のみ有効)
例えば、-normalSpeed floatが1で-tangentSpeed floatが0だとオブジェクトの面と垂直方向にパーティクルが発生する。
逆に、-normalSpeed floatが0で-tangentSpeed floatが1だとオブジェクトの面と水平方向にパーティクルが発生する。

emitterコマンドの使用例1

以下のMELスクリプトをmakeEmitter1.melという名前でmelディレクトリの下に作る。 この例では3つの点からできたパーティクルをつくり、その3つのパーティクルからエミッターによって全方向(omni)にパーティクルを発生させている。

global proc makeEmitter1()
{
	particle -p 1 0 0 -p 0 1 0 -p 0 0 1;
	emitter -rate 10 -minDistance 1.5 -maxDistance 2.5 -n emitter;
	particle;
	connectDynamic -emitters emitter;
}

  1. particle -p 1 0 0 -p 0 1 0 -p 0 0 1;
    このパーティウクルがエミッターによってパーティクルの発生源となる。
  2. emitter -rate 10 -minDistance 1.5 -maxDistance 2.5 -n emitter;
    エミッターによって全方向(omni)に10の割合で1.5から2.5の間にパーティクルを発生させる。
  3. particle;
    このパーティクルがエミッターによって発生させられるパーティクルになる。
  4. connectDynamic -emitters emitter;
    現在セレクトされているパーティクル(すぐ上のparticle)をエミッターから発生するエミッターとする。

練習

参考


Prev | Next
Home | Contents
abe@injapan.net