Matte Objects and Shadows

マットオブジェクトとシャドウ

ほとんどの場合、パーティクルがそれ単体でシーンを構成することはありません。たいていは他の撮影プレートやレンダリング素材と合成しなければなりません。この演習では「マットオブジェクト、ライトからの影受け・他のジオメトリにパーティクルの影を落とす」という内容を扱うことになります。


【マットオブジェクト】


ビュー上でパーティクルを隠す

●マットオブジェクトを使用するため、半径10の球をカメラから見てパーティクルが隠れるように配置してください。

krakatoa15_prtloader_matteobjectinviewport_opacity

●マットオブジェクトのレンダリングを有効にするため、クラカトアGUIの下のほうでMatte Objects チェックボタンをチェックしてください。

●素早くMatte Objectsロールアウトにスクロールダウンするため、同じチェックボックスを右クリックしてください。Controlsロールアウトが閉じてMatte Objectsロールアウトが開きます。

●ビューポートで新しく作成した球を選択し、Create/Update Matte Selection Setをクリックしてください。

KrakatoaMatteObjectsと名付けられた選択セットがシーンに作成され、右のリストボックスに追加されます。クラカトアでは、Named Selection Setにリストされたジオメトリオブジェクトは、パーティクルを隠し特定の状況ではライトを遮って影を落とすマットオブジェクトとして扱われます。

Iterative [Full]をチェックし、RENDER FRAMEをクリックします。球の後ろにあるパーティクルが見えなくなったことに注目してください。

krakatoa15_prtloader_matteobject_occlusion


パーティクルに影を落とす

●球を選択して、ライトを遮るように右に移動してください。そうすることでパーティクルに影が落ちるようになります。

●スポットライトを選択し修正パネルでシャドウをオンにしてください。

○シャドウタイプがシャドウマップになっていることを確かめてください。(クラカトアではシャドウマップサイズで減衰マップのサイズを決定します。そのようなパラメータが見つからない場合、デフォルトで512に設定されます。)

●再びRENDER FRAMEをクリックしてください。

今度は球がパーティクルに影を落としています。レンダーフレーム画面のRGBAlpha channelsをトグルすることで、パーティクルのどの部分がマットオブジェクトに隠されているのか、どの部分に単に影を落とされたりしているのかを交互に確認できます。

krakatoa15_prtloader_matteobject_shadows

シャドウの品質に関する注意:いくつかの要素がシャドウの品質に影響を与えます。もしモアレパターンが見え始めたら、シャドウマップサイズとパーティクル数を増やし、パーティクル密度を下げることが必要になります。


パーティクルとマットオブジェクトの交差

上述したマットオブジェクトをレンダリングする例は、パーティクルに影を落とさない限りあまり意味がありません。なぜならすべてのパーティクルがマットオブジェクトの後ろに隠れているため、単純に合成過程でパーティクルの上のレイヤーにオブジェクトをレンダリングしたものを置けば良いからです。

しかし、マットオブジェクトはパーティクルと交差するとき(あるパーティクルはオブジェクトの前、あるパーティクルは後という状況)に特に役立ちます。それは次のような例があります。

●球に標準マテリアルを適用し、カラーを赤、自己照明を10に設定してください。

●半径を20に変更し、パーティクルクラウドの中に移動してください。

krakatoa15_prtloader_matteobjectinviewport_interaction

スポットライトのシャドウは依然オンになっているため、今度は球がパーティクルを隠し後のパーティクルには影も落としています。

krakatoa15_prtloader_matteobject_interactionocclusion

●このイメージをアルファ付きで保存してください。

クラカトアのマクロスクリプトで提供されているSwitch Back From Krakatoa To Previous Rendererアイコンをクリックして、スキャンラインレンダーに戻ってください。これによりクラカトアの設定がRPSレンダープリセットとして保存され、あとで簡単にリストアできます。

krakatoa15_prtloader_matteobject_interactionocclusion_scanline

●このイメージも保存してください。

●ビデオポストを開くか、サードパーティのCombustionFusion NukeAfter Effects等を使用してください。

●先ほど保存した2つのイメージをロードし、スキャンラインレンダリングされた球の上にパーティクルイメージを合成してください。

krakatoa15_prtloader_matteobject_interactionocclusion_vp

krakatoa15_prtloader_matteobject_interactionocclusion_comp


不透明度にマップが貼られたマットオブジェクト

クラカトア1.5ではパーティクルを隠したり影を落としたりする際、マットオブジェクトの不透明度マップも考慮するようになりました。

●マテリアルエディターを開きます。

●球に適用した標準マテリアルの不透明度スロットに、チェックマップを適用します。

●Uタイリングを4、Vタイリングを2に設定してください。

krakatoa15_prtloader_matteobjectinviewport_opacity

krakatoa15_prtloader_matteobject_opacityocclusion

●先ほどと同じようにクラカトアのパーティクルイメージとスキャンラインイメージを合成してください。

krakatoa15_prtloader_matteobject_opacity_noaa_comp

球のエッジがジャギっているのに気づくでしょう。

これは、クラカトアのマットアルファがエッジをスムーズにするアンチエイリアスが含まれていないからです。マットイメージのピクセルは完全に黒か完全に白で表現されているため、部分的に球に隠されているパーティクルも完全に隠されているか完全に見えているかのどちらかとして見なされてしまうためです。

この問題を解決するためにマットオブジェクトのサンプルを上げます。

Matte ObjectsロールアウトでSubDivisionsスピナーを1から3に上げます。

●クラカトアのパスをもう一度レンダリングします。

●再びビデオポストで合成します。

krakatoa15_prtloader_matteobject_opacity_aa_comp


まとめ

●マットオブジェクトとシャドウキャストを使用して、最終合成で統合するためのレイヤーを簡単に作成できます。

●次の演習ではパーティクルがどのようにオブジェクトに影を落とすかを見ていきます。