2016年6月11日土曜日

Element 3D と Optical Flaresの前後関係を正しく表現する

 Element 3D と Particularの前後関係は、Z baffuerを使えるので割と簡単にできるのですが、Optical Flaresは簡単にいきません。

【カメラやフレアのZ方向への動作が控えめで、Foreground Layersが使える場合】
Element3Dのオブジェクトとフレアの前後がシーン中に変わらない場合は、Foreground Layersの機能を少し工夫すれば実現できます。
1 Element3Dレイヤーを複製して、フレアより前と後にオブジェクトを分けます。
2 カメラを複製してから、カメラとElement3Dの前側レイヤーをプリコンポーズします。
3 プリコンポーズしたレイヤーをForeground Layersに指定します。

これで、Element3Dのオブジェクトのうち、フレアより前にあるオブジェクトだけがフレアを遮るようになります。
ちなみに、プリコンポーズせずに、Element3Dの前側レイヤーを直接Foreground Layersに指定すればいいんじゃね?と思う方がいると思いますが、Element3Dを適用したレイヤーは、フレアのレイヤーからは平面に見えてしまうので、フレアが全部消えてしまいます。
また、この手のカメラをセットで持っていくプリコンポーズも、先ほどご紹介したElementaryを使えばパラメータを同期できる機能があります。

【カメラやフレアがZ方向へ動いて、Element3Dとの前後関係がシーン中に変わってしまう場合】
こいつはちょっと面倒です。どうやろうかと思案して、こんな感じで表現してみました。
大前提として、Optical FlaresはTrack Lightsで使用するものとします。あと、この方法には、Particularが必要です。
1 動かしたいフレアの動きをライトで作ります。
2 先ほどご紹介した方法で、1のライトの位置にElement 3D との位置関係が正しい Particularのエミッターを作成します。
3 普通ならこのエミッターからカッコいい線が伸びたりするのですが、今回は、エミッターの位置に常時パーティクルが表示されるようなセッティングでParticularをセットします。
シーンにもよりますが、Particles/secが50~100ぐらい、Colorは白、Opacityが100、Lifeが0.02~0.1、Sizeが20~70ぐらい、といったところでしょうか。
4 3のパーティクルを、Optical Flaresの表示非表示の判定に使用するのですが、平面レイヤーのままだと上手くいかないので、プリコンポーズします。今回は、Element3DのZ buffer、エミッターライト、カメラ、Particularレイヤーの4つが必要です。Elementaryを使えばパラメータの同期ができますが、なくてもまぁ何とかなります。
5 プリコンポーズしたレイヤーをフレアのForeground Layersに指定し、Sample MethodをLuma Invertに設定します。
6 これでフレアがガイドのパーティクルと同じように隠れるようになりました。
7 6のフレアだけだと、周辺の大きなフレアも隠れたときに消えてしまうので、レイヤーを複製し、6のフレアはコア部分からの光をあまり長く伸ばさないようにし、複製したレイヤーは長く伸びる光をセットしたうえでForeground Layersを解除します。
8 これで、陰に隠れた時も弱い光を残す美しいフレアになるかと思います。

もっとも、Particularと違って、Optical FlaresはElement3Dと同じVideo Copilot社なので、バージョンアップで連携強化を期待したいものです。

0 件のコメント:

コメントを投稿