Particle Intoroduction06 MovieTexture

パーティクルにムービーテクスチャーを設定する方法。パーティクルにテクスチャを割り当てることで、煙や炎など粒子以外のものを表現することが出来る。Touchではテクスチャ素材としてQuitckTimeムービーを使用することが出来る。

Download File

image050816_01

ムービーテクスチャの設定
COPネットワークでMovie COPを追加して、テクスチャとして使用するQuitckTimeムービーファイルを設定する。
サンプルファイルでは煙の表現で半透明のテクスチャを使用している。QuitckTimeムービーにはAlphaプレーンが無いので、ChannelSwap COPを追加して、RチャンネルからAlphaチャンネルを作成する。
PhongMaterialを追加する。AlphaExistsをチェックしてAlphaチャンネルを有効にする。

image050816_02

ムービーテクスチャをパーティクルに割り当てる
パーティクルにインスタンスするグリッドを作成する。ムービーテクスチャと同じ縦横比になるように設定する。
Material SOPでムービーテクスチャを設定したマテリアルを設定する。
Copy SOPを追加して、Coply dataにマテリアルを設定したグリッドをコネクトする。Templateにパーティクルをコネクトする。各パーティクルにグリッドが割り付けられる。
デフォルトではノーマル方向にグリッド面が向けられるので、Rotate to Normalのチェックを外す。
常にカメラに対してグリッドが正面を向くように、Look Atパラメータにcamoutを設定する。(3D ViewPortではcamoutに設定されている以外ではこのオプションの効果は無いので注意)
※サンプルファイルのオブジェクトMovieTexでグリッドのマテリアルの設定をMovieTexに設定するとAlphaが無効になり、ムービーテクスチャのグリッドへの貼り付けられ方を確認することが出来る。

image050816_03

image050816_04

LifeパラメータによるPoint Alphaのコントロール
さらに煙らしくするためにポイントのAlphaをコントロールする。パーティクルにはLifeという、発生してから消滅するまでの間に0~1の値を返すアトリビュートが付加されている。発生した時点ではパーティクルのAlphaを1として消滅するまでにAlphaが0になるようなアニメーションを各パーティクルに設定する。
パーティクルソースにPoint SOPを追加して、StandardタブにあるKeep AlphaをAdd Alphaに変更して、Alphaパラメータに 1-$LIFE と入力する。
これで各パーティクルに対して、1からLifeアトリビュートの数値を差し引いた計算結果がAlpha値として設定される。
発生時は1-0(発生時のLifeアトリビュート値は0)で結果、Alphaは1
消滅時は1-1(消滅時のLifeアトリビュート値は1)で結果、Alphaは0になる。

image050816_05

Copy SOPのAttributesタブにあるUse Template Point Attributesにチェックを入れる。
このオプションによって、各パーティクルで設定されたPoint Alpha値がインスタンスオブジェクトのグリッドにも適応される。

image050816_06

image050816_07