-Blenderでパーティクルを使う手順と注意点-

5. パーティクルの情報をオブジェクトのマテリアルに

Blender Render でも、パーティクルの情報をマテリアル上で使う方法が実装されました。

■ コピーされる側のオブジェクト側やカラーカーブをを設定
発生した粒子をオブジェクト(スザンヌ)で表示するようにします。
設定は前々頁で行ったとおりです。
このスザンヌの持っているマテリアルのノード編集内で、パーティクルの情報を利用することが出来るようになりました。
色付けをするためのカラーカーブ(Blend 設定のテクスチャ)を作成しておきます。分かりやすくするために、くっきりとした色分けにしました。

このカラーカーブの範囲、0から1ではなくて、-1から+1の範囲になっています。
こういったものは0から1で考えることも多いので、ちょっと注意が必要です。
このテクスチャは、マテリアルのノード内で使用するので、ノードを設定する前の状態では特に使用する設定をしなくてO.K.です。
というか混乱しないように非使用状態にしたほうがいいかもですね。

■ マテリアルノード設定
スザンヌのマテリアルでノードを使用します。メニューの Add - Input - Particle Info で、粒子情報を得ることが出来ます。 Age は発生した粒子の年齢になります。(単位はフレーム)

さっきのカラーカーブを使うために、-1から+1までに変更をします。粒子の寿命が40だとすると、もとの数値が0から40までになるので、20で引いて20で割れば良いことになります。
先ほどのテクスチャの入力につなげます。入力はベクトルなので、数値を送り込むのは厳密には違うのですが、この場合は大丈夫です。

テクスチャの出力は色とアルファ値なのですが、アルファ値は Value という名前になっています。
ここは名前を alpha にするべき場所の気がしますが、まだ洗練しきれていない感じです。
これで発生からの時間で色が変わるオブジェクトが作成できました。

オブジェクトのコピーの色を変えるのではなくて、ハローやビルボード表示の色を変えることが出来れば、煙らしい表現がより簡単に行えそうですが、惜しいことに、ノードからハローの色を制御する方法が分かりません。

スザンヌの代わりに、もくもくしたテクスチャを張ったカメラのほうを向いた板を使うなど、手動で手間をかけることで、焚き火から立ちのぼる煙なども表現できそうです。
Age の変わりに Index などを使えば、動かないパーティクルを使って色とりどりの車、といった応用もすぐに行えるでしょう。

inserted by FC2 system