fc2ブログ

DAZ Studio 3 Advanced その6:ShaderMixerでシャドウキャッチャーを組む

Category : Shader Mixer
今回もDAZ Studio 3 Advanced(DS3Adv)の新機能『ShaderMixer』を使ってみたいと思います。お題は「シャドウキャッチャー」です。
シャドウキャッチャーは、それ自身は透明で、オブジェクトの影のみを受けるものです。写真などと合成する時に便利な機能です。『pwCatch』の記事でも紹介しましたね。

今日の情報はDAZフォーラムのこのスレッドを参考にさせていただきました。

ShaderMixer シャドウキャッチャー SS

※さらに影の透明度が変更できるように手を加えました。
※DS3バージョンアップによる問題点の解消を追記しました。

■ブリックの構成

さっそくShaderMixerタブでブリックを組みましょう。

1. サーフェイスに適用するものなので、マテリアルで新規作成します。File > New で開くダイアログで「Material」を選択し「OK」ボタンを押します。
2. そこにブリックリストから、Functions > Lighting > Shadow Catcher をドラッグ&ドロップします。
3. Shadow CatcherブリックのIn ShadowノードをDAZ MaterialブリックのOpacity Colorノードへつなげます。

実はこれだけです。
影が発生している部分以外を透明にするということになります。

※ノードの種類について
接続することができるノードには種類がアルファベットで示されています。通常同じ種類のノードへつなげるのですが、違うとつながらないというわけではありません。
 C - Color(色)
 F - Float(数値)
 N - Normal(法線)
 P - Point(空間上の座標を持つ1点)
 V - Vector(ベクトル)
 S - U coordinate(水平位置)
 T - V coordinate(垂直位置)

ここで、使いやすくするためにもう一つブリックを加えます。
Functions > Patterns > ImageをD&Dし、ColorノードをDAZ MaterialブリックのDiffuse Color、Specular Color、Amibient Color各ノードへつなげます。
ShaderMixer シャドウキャッチャー ブリック
「Shadow_Catch_Single」と名づけて保存しました。

さらに影の透明度を変更できるようにしてみました。
ShaderMixer シャドウキャッチャー2 ブリック

Functions > Math > Math 2 をShadow Catcherブリックの前に挟んでいます。Math 2ブリックは、2つのパラメータを演算するもので、今回はValueを透明度とみなしてMultiplyで掛け合わせています。

この時、Valueの値は0~1を取るのが望ましいのですが、標準ではスライダでいくらでも数値を増減できてしまいます。値の制限をしたい場合は、Parametersタブと同じようにします。まず、Math 2ブリックのValueノード(スライダのすぐ上の文字)をダブルクリックすると「Parameter Settings」ウィンドウが開きます。
ShaderMixer シャドウキャッチャー2 パラメータ設定
そこでMin Limitを0に、Max Limitを1にして、Respect LimitsをYesに変えるとパラメータの範囲に制限がかかるようになります。
ついでに、Display AsをPercentに変更すれば値がパーセンテージで表示されるのでさらにわかりやすくなりますね。
また、ここではパラメータの名称を変更することが出来ますので、わかりやすい「Shadow Opacity」などに変更しておくと良いかもしれません。


■使ってみる

例えば、このように球体があるシーンで、球体の影をY座標0の床に落としたいとします。
ShaderMixer シャドウキャッチャー 球体0

ライトをシーンに配置(Create > New DistantLight)し、影が落ちるように設定します(ParametersタブのShadow > Shadow TypeをRaytracedに)。
影を受けるオブジェクトがないといけませんので、床としてPlaneを配置します(Create > New Primitive > Plane)。この場合は平面にしていますが、どんな形のものでも平気です。
レンダリングしてみるとこのようになりますが、床が邪魔です。
ShaderMixer シャドウキャッチャー 球体1

そこで、Planeオブジェクトのサーフェイス「Default」をSurfacesタブで選択し、シャドウキャッチャーを適用します。Shader Mixerタブの右下の「Apply」ボタンを押してください。
レンダリングすると、床がなくなり影のみが残ります。
ShaderMixer シャドウキャッチャー 球体2

※ここでは背景はグレーになっていますが、Backdropとしてあらかじめ合成用の画像を読み込んでおく(メインメニューのEdit > Backdrop)と、合成結果がより良くなります。

おまけとして、SurfacesタブのImage欄のColorを変更することで、影の色を変えることが出来ます。
また、影を作り出すオブジェクト(この場合は球体ですね)のほうに『UberSurface』を適用し「Fantom」をOnにすると、オブジェクトを隠し純粋に影だけをレンダリングすることが出来ます。

さて、このシャドウキャッチャーですが、制限事項があります。
 ・影を発生させるライトは1灯のみ使えます。
 ・『UberEnvironment2』などのAmbient Occlusionは受けることが出来ません。
1つ目はかなりきつい制限ですが、そこは使い方次第です。もっといろいろなことが出来るシャドウキャッチャーシェーダ『pwCatch』のアップデートが待たれますね。なにか解決法があればここでご紹介したいと思います。もし思いついたという方がいらっしゃれば、ご指摘もお待ちしています。

※バージョン3.0.1.137(ベータ)より、1つ目の問題が修正され複数のライトの影が反映されるようになりました。
※AOを描く方法はとうふさんのブログ「豆腐アラモード:AOの影を捕まえる」に詳しく書かれています。

最後に、シャドウキャッチャーを使ったシーンを作ってみました。
ShaderMixer シャドウキャッチャー 狼男
Character1:Michael 4
Character2:Night World Lycanthropos
Hair:Jai Hair(Michael 4 Complete)
Costume:Stylin For M4(Michael 4 Complete)
Shader:UberVolume

レンダリングした人物、影、ライトで明るくなった平面、ボリュームと、背景画像をそれぞれ用意しPhotoshop上で合成しています。人物はM4ですが、影をレンダリングする時には狼男キャラクター『Night World Lycanthropos』に変更しています。



今回の画像の素材はこちら

Michael 4 Starter Bundle

Night World Lycanthropos




Comment

影用のライトが1つのみというのは厳しい制限ですね(;´Д`)
以前そのスレッドを見て試してみたら、やはり影自体が半透明にならなかったので、使いどころが限られるかなぁと思っていました。
pwCatchは持っていないので、ShaderMixer側の修正を期待してたりしますが・・・(;´∀`)

ブリックの種類はあんなにいっぱいあるんだし、この問題を解決する方法もきっとあるはず!とは思います。
いかんせん、まだ情報が足りないですよね。DSのPDFマニュアルにFunctions個々のブリック解説も載るのを期待してたりします。
非公開コメント

Trackback


この記事にトラックバックする(FC2ブログユーザー)

ひさびさ

ひさびさにV4BodyとDazStudioでレンダ。 SHareCGに色っぽい水着があったので使ってみました。 せめて影くらいつければよかった。 シャドウキャ...
著書
カレンダー
05 | 2023/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
検索フォーム
プロフィール

Kotozone

Author:Kotozone
製品の取扱説明書を読むのが大好きです

FC2ブックマーク
最新記事
カテゴリ
タグリスト

DSプラグイン V4 ライト マテリアル DSシェーダ DS基本 セール Genesis IBL アニメーション タブ解説 iray ダイナミッククロス LuxRender スクリプト Genesis2 バージョンアップ セットアップ ShaderMixer レタッチ Download カスタマイズ トゥーン SSS Photoshop NGM 物理シミュレーション ファー ウェイトマップ D-Form ERC Miki2 IDL M4 大気 Terrain カラーコレクション モーフセット ボリューム パーティクル Genesis8 Hexagon Genesis3 V5 アナグリフ カメラ インスタンス K4 Python 日本語訳 ロボット RAMDisk ダイナミックヘア Linux V8 3Dプリント GIMP SLG モーションキャプチャ 

最新コメント
リンク
月別アーカイブ
ご意見ご感想はこちらに

名前:
メール: 
件名:
本文: 

ブロとも申請フォーム

この人とブロともになる

最新トラックバック
FC2カウンター