DAZ Studio 3 Advanced(DS3Adv)の
ShaderMixerでブリックリストを眺めていると、気になるものが結構あります。Caustic Light、Gel Light、Toon、Depth Cueなど、これまでに紹介してきたもの以外にもいっぱいです。
今回はその中から
Depth Cueを使ってみたいと思います。デプスキューとは、カメラからの距離によって色をのせるレンダリング法です。ワイヤーフレーム表示の時に前後関係をわかりやすくするために遠くを暗く描画したのが元らしいのですが、今回はそれを使って風景の遠くが霞む効果を表現したいと思います。DS2.3では
『Mood Master DS Z-Depth FX Layers』というプラグインで同じことが出来ました。
こちらの記事で紹介しています。

※Fog-Simpleブリックを使った簡易フォグについて追記しました。
■ブリックの構成ShaderMixerでブリックを組みます。今回はカメラに適用するシェーダとして作成します。ライトやマテリアルと違い、カメラはブリックを何も置かなくても基本的な機能を持っています。そこが特殊なところですね。
1. File > New で開くダイアログで「Camera」を選択し「OK」ボタンを押します。
2. そこにブリックリストから、
Root > Volume と、
Functions > Volume > Depth Cue をドラッグ&ドロップします。
3. 2つのノードをつなげます。

「DepthCamera」と名づけて保存しました。
■使ってみる今回は市街地のシーンを作ってみました。(画像1)
ライトは
『UberEnvironment2』によるIBLと、DistantLightを1灯使っています。

ここに遠景が白く霞む効果(フォグ)を付け加えます。
ShaderMixerタブの右下、「Create」ボタンを押すとシーンにカメラが作成されます。その際、通常のカメラを作成する時と同じダイアログが出現しますので、「Show Options」ボタンでオプションを開き、Apply Active Viewport Transforms(アクティブなビューポートのカメラのTransformsをコピーして作る)のチェックをつけたりすると便利かもしれません。
ビューポートのビューセレクタで、カメラを今作成したものに切り替えます(ビューポートの操作については
こちらの記事をご参照下さい)。
Sceneタブでそのカメラを選択すると、
Parametersタブの最下部にDepth Cueに関するパラメータが現れます。
・Minimum Distance | フォグの開始地点を指定します。0でカメラの位置になります。 |
・Maximum Distance | フォグの終了地点を指定します。これより遠くはフォグの色で塗りつぶされます。 |
・Background | フォグの色です。 |
ここで注意しなければいけないのは、Min/Max Distanceの範囲が-1~1ということです。初めはMin0、Max0.5ぐらいでレンダリングしてみて、結果を見て調整するとよいかと思われます。だいたい、この数値を10000倍にするとDSの距離単位になるようです。Math2ブリックを追加して単位変換するとわかりやすいかもしれません。

このようになります。でも何か変ですね?
どうやら、サーフェイスに半透明が入っているものは、透明になった時の色がフォグの色になってしまうようです。上の画像では、奥のビルの壁面の汚しやデカールのテクスチャ、車のガラスなどに半透明が使われていたために、白っぽくなってしまったようです。
これが不具合なのか、ShaderMixerの構成が足りないのかはわかりません。しょうがないので今回は応急処置としてフォグのみをレンダリングすることにしました。
Surfacesタブのリストにあるすべてのサーフェイスを選択し、Diffuse Strength、Specular Strength、Ambient Strength、Reflection Strengthを0%に、Opacity Strengthを100%にします。これで、シーン内のオブジェクトは形だけ残して真っ黒になりました。
改めてレンダリングすると、このようにフォグだけが残ります。(画像2)

これをPhotoshopなどのフォトレタッチソフトで合成します。
(画像1)の上に(画像2)を描画モード:スクリーンで重ねました。

シーンに少しは空気感が出たでしょうか?
これとは別に、
Depth Cueブリックの代わりに
Fog-Simpleブリックを使う方法もありました。

こちらは半透明サーフェイスの色が変になることもありません。カメラからパラメータStart Distance(DS距離単位)離れた地点からフォグが発生すると考えて調整します。
こちらでレンダリングしたのが下の画像です。

■Zデプス画像を使ったレタッチ予想外の問題の発生でやり方がすでに上に出ていますが、フォグだけをレンダリングした画像はなにかと使いでがあります。手前が黒で、奥に行くほど白くなるという、いわゆるZデプス画像ですね。

フォグとして使うだけでなく、この画像から選択範囲を作ってフィルタをかけてももいいですし、Photoshopのレンズぼかしフィルタの深度情報として使うことも可能です。
下の画像はフォグとして重ねたあと、さらに合成イメージにレンズぼかしフィルタをかけ、車のあたりにピントが合うように調整したものです。

Environments: | City Courtyard |
---|
Vehicles: | Uzilite D Lounge Automobile |
---|
Lights: | DIRECTORs CUT City Courtyard |
---|
Shader: | UberEnvironment2 |
---|
今回のツールと画像の素材はこちら