ジオメトリにシャドウを落とす
最終合成では大体の場合、パーティクルのパスと統合するオブジェクトを含むことになるでしょう。
外部レンダラーでレンダリングしたジオメトリにシャドウを落とすため、クラカトアはシャドウを落とすライトごとに減衰マップを保存することができます。
これらのマップはパーティクルがシーン上のオブジェクトにシャドウをプロジェクションするために、ライトのプロジェクションスロットにアサインすることができます。
このチュートリアルでは、クラカトアでレンダリングしたパーティクルパスと、スキャンラインやメンタルレイなどでレンダリングしたジオメトリパスを合成するワークフローを紹介します。
【アラジンのランプ】
シーン
●簡単なシーンでスタートします。シーンに含まれるのは
○面プリミティブ(地面)
○スケールとテーパがかけられたティーポット(ランプ)
○異なるモディファイアや設定がされたいくつかのティーポット(ランプのまわりに配置されるいくつかの陶器)
●パーティクルフロー(以下PF)はシーンに追加されています。
○ エミッターはティーポットの口にアラインされています。
○ エミッターは円形で、直径は1.0に設定されています。スケールしティーポットの口に合わせています。
○PFは20万個のパーティクルを200フレームで放出します。
○フォースオペレータに(浮力として)逆向きの重力、タービュランスが有効の風、ドラッグスペースワープが適用されています。
結果として、パーティクルは面白い軌跡で動きます。これがクラカトアでレンダリングするパーティクルです。
ここからzipで圧縮された3dsMax9のシーンをダウンロードできます。
パーティクルをパーティションに保存する
テストレンダリングをスピードアップするため、ショットの終わりには合計100万になるパーティクルを5分割し、20万ずつ保存します。
●クラカトアでパーティクルの色を白に上書きします。
○Global Render ValuesロールアウトのOverride Colorにチェックします。
○Override Colorスウォッチが白に設定されていることを確認します。
● パーティクルレンダーモードを Save Particles To File Sequenceに変更します。
●SAVE PARTICLESボタンを右クリックしてanimation range from 0 to 200を選択します。
●Save Particles To File Sequenceフィールドで、PRTファイルフォーマットを使って保存パスを指定してください。
●Particle Partitioningロールアウトでパーティションの数を5にセットし、Generate All Partitions Locallyボタンを押す。
●すべてのパーティションが保存されるのを待ちます。(人によってCPUとハードディスクの速度が違いますが、だいたい10分かかります。)
パーティクルをロードする
これで、PRT Loaderを使用してパーティクルをロードすることができます。
●PFのエミッタを選択して無効にします。
●クラカトアGUIのParticle Loadersロールアウトで、Create New Loader…“ボタンをクリックします。
●デフォルトでは、Select Particle File Sequences To Addファイルダイアログが最後に保存したディレクトリを開きます。保存したパーティションから1つのファイルを選択してOpenをクリックしてください。
●5つのパーティションをロードするよう促されるので、Yesと答えて下さい。
タイムスライダーを動かすと、ビューポートでパーティクルを確認できます。
パーティクルをライティングする
●薄気味悪い雰囲気を出すために、緑がかったスポットライトを使用し、シャドウにチェックを入れます。シャドウマップサイズは1024にセットされます。これはクラカトアでは減衰マップの解像度として計算され、スキャンラインではジオメトリが落とすシャドウとしても計算されます。
●2つめのフィルライトは面オブジェクトの下に隠されていて、マルチプライヤ0.5の青紫色でシーンをライティングしています。それはジオメトリからのシャドウではなく、パーティクルからのシャドウをキャストします。(クラカトアは常にパーティクルからのシャドウを計算します。それはライト減衰がライティングとボリューメトリックシェーディングの重要な部分だからです。)
●オブジェクトからのシャドウをパーティクルに落とすため、スポットライトの軌道上に花瓶をおきます。ランプからでてきたパーティクルにシャドウを落とすことになります。Matte Objectsロールアウトを開き、ランプの右側の大きな花瓶(LargeVase02)を選択します。そしてCreate/Update matte Selection Setを押します。KrakatoaMatteObjectsという新しい名前の選択セットが作られ、Matte Named Selection Setsリストに追加されます。
●ランプから出てくる魔法の煙には比較的低い密度になっていて欲しいのですが、同時にパーティクル自信に良い見栄えのセルフシャドウを落としてほしいところです。これを達成するには、ライティング用とファイナルパス用に異なる密度を設定します。
○Use Lighting Pass Density Settingsオプションにチェックします。
○Lighting Pass Densityに5.0 / -2、Final Pass Densityに1.0 / -2と入力します。
パーティクルと減衰マップをレンダリングする
カメラは開始100フレームは静止し、パーティクルがランプから出てくるのをとらえます。そして次の100フレーム間でランプのまわりを回ります。
●シーンのパーティクルをレンダリングするため、レンダーモードに切り替えてください。
●QUICK RENDERボタンを右クリックしてRender Output Filenameを選択し、レンダリングするイメージファイルの名前(例えばKrakatoa_Genie_Lamp_Particles_.exr)を指定します。
●QUICK RENDERボタンの右クリックメニューの下の方にあるSave Attenuation Mapsオプションがチェックされていることを確かめます。
●201フレーム分をレンダリングするため、QUICK RENDERを押します。
イメージシーケンスの100フレーム目はこのようになります。
減衰マップは出力パスのShadowsと名付けられたサブフォルダに保存されます。100フレーム目はこのようになります。
減衰マップをライトに適用する
これでパーティクルパスはレンダリングできました。次は減衰マップをシーンライトにアサインし、スキャンラインなどの別レンダラでレンダリングします。
●クラカトアシャドウアイコンをクリックするか、Shadows On Geometryロールアウトを開きShadows On Geometry Utilityボタンを押します。
●ユーティリティでは、減衰マップの場所が自動的に指定されています。もし指定されていなければ、レンダリングしたばかりの出力パスのShadowsサブフォルダから1つのファイルを選択します。
●ADD KRAKATOA SHADOWS TO THE SCENEボタンを押します。これによりそれぞれのシャドウマップシーケンスのためのIFLファイルが作られ、ライトと減衰マップの名前に基づいてそれぞれのライトのプロジェクションスロットにアサインされます。
ジオメトリパスをレンダリングする
これですべてのライトに減衰マップが適用されたので、スキャンラインレンダラーでジオメトリをレンダリングしていきます。
●レンダラの割り当てロールアウトでドロップダウンから既定値のスキャンラインレンダリングを選択します。
●レンダラがスキャンラインに切り替わります。
●スキャンラインダイアログで、両面レンダリングにチェックします。
●新しく保存するイメージファイルの出力パスとファイル名を指定します。
●通常通り0から200フレームの範囲をレンダリングします。
レンダリング結果は、パーティクルのシャドウがジオメトリに落ちたものになります。
最終合成
これで2つのパスが出力されました。スキャンラインでレンダリングされたジオメトリと、クラカトアでレンダリングされたパーティクルです。
●レンダリングメニューのビデオポストを開きます。
●ジオメトリシーケンスを先にロードします。イメージ入力イベントを追加アイコン(矢印が四角の中に入っているアイコン)をクリックします。シーケンスにチェックしていることを確認し、スキャンラインレンダリングの1つ目のファイルを選択すると、0から200フレームのIFLファイルが作られます。
●ビデオポストの新しい入力イベントを選択解除し、もう一度先ほどのオペレーションを行い、今度はクラカトアレンダリングのシーケンスをロードします。
●2つの入力イベントを選択し、イメージレイヤイベントを追加アイコン(シアンと黄色の四角が交差しているアイコン)を押します。リストからアルファコンポジタを選択しOKを押します。
●また選択解除し、イメージ出力イベントを追加アイコン(四角から矢印が出ているアイコン)を追加し、出力パスとファイル名を指定します。
●シーケンスを実行アイコン(ランニングマンのアイコン)を押し、出力時間範囲が0から200にセットされているのを確認してレンダリングを押します。