ここでは、Pyro シミュレーション時のスモークの色を VOP を元にしたランプパラメータで調整する方法を紹介する。
使用したビルド: 15.5.717
シーンファイルへのリンクは一番下にあり。
1. 元シーンの作成
Torus に対し Flames を追加。詳細はこちらの#1。
2. カラーボリュームの作成
pyro ボリュームからシェーダに直接データが渡るようにアトリビュートを追加する。
- pyro_import の中に入る。
- import_pyrofields の出力から TAB->Delete を作成。delete1 が出来る。
- Group フィールド横のプルダウンリストから density を選択。
- @name=density
という値がフィールドに設定される。 - Operation を Delete Non-Selected に設定する。
- Number タブ以下の Enable をオフにする。
- Group フィールド横のプルダウンリストから density を選択。
- delete1 の出力から Merge ノードを作成 (merge1)。接続をさらに2度繰り返し、delete1 と merge1 の間の接続が合計3本となるようにする。
これにより density を3度コピーしたことになる。 - merge1 の出力から Name ノードを作成 (name1)。
- Number of Naming を 3 に
- その下にできた3つの Group と Name のペアに以下のように入力する。
- Group: 0
- Name: Cd.x
- Group: 1
- Name: Cd.y
- Group: 2
- Name: Cd.z
- 一番上流の import_pyrofields の出力から Merge ノードをもう一つ作成 (merge2)。この merge2 に name1 の出力も接続する。
こうすることにより、元データに Cd 三連値が追加されたことになる。
3. Volume VOP の追加
- VOP ノード作成する前に、/shop/flames マテリアルに行き、General タブ以下の Density Scale を 1 にする。
- 以下の手順は Render ビューでレンダリングしながら行うと良い。
- 上の name1 の出力から Volume VOP ノードを作成。
- 併せて、volumevop1 にレンダリングフラグ (一番右の表示フラグを Ctrl クリック) を指定しておく。
- volumevop1 をダブルクリックするなり、'i' キーを押すなりして中に入る。
- 中には、volumevopglobal1 と volumeoutput1 の二つのノードがある。VOP の構造の基本的な説明はこちら。
- TAB-> Bind で Bind ノードを作成 (bind1)。
- Bind ノードは、グローバル変数リスト volumevopglobal1 にリストされていない値をこのノードの外から取って来るためのノード。
- Name を temperature
- Type は Float のまま
- TAB -> Bind Export ノードを作成 (bind2)。
- Bind Export ノードは、実は Bind ノードと同一ノードタイプで、Export パラメータが "When Input is Connected" と設定されているのが違い。つまり、入力が接続されていれば、値をノードの外に出す。つまり、volumevopoutput1 に設定されていないアトリビュート値を出力することが可能になる。Export を "Never" とすれば Bind ノードになる。
- Name を Cd
- Type は Color (color)
- bind1 と bind2 を接続。
- TAB-> Ramp Parameter を実行。作成された ramp1 を bind1 と bind2 の間に挿入。
- ramp1 のランプウィジェットは一つ上の volumevop1 に露出されるので、'u' キーなどで上に上がり、ランプの色を変えてみる。
- TAB->Fit Range を実行。できた fit1 を bind1 と ramp1 の間に挿入。
- Source Min と Source Max の値を調整してみる。
- このパラメータ二つでランプで設定した色の広がりを調整可能。
- ランプと併せて一緒に調整するのであれば、それぞれのスライダの右脇にあるギアアイコンをクリック、Promote Parameter を実行。 最終画像 (64フレーム目) はこちら。
シーンファイル:
- vop_smoke_color.zip (105KB)
very useful! Thanks for sharing your tricks
返信削除thank you for your comment!
削除