シャドウ情報は aiAOV_shadow_matte で取得することができますが、こちらではシャドウをライト毎にレンダリングすることはできません。 この場合はArnoldシェーダの aiShadowMatte を使用する必要があります。 複数のライトグループに対して設定を行う場合は「Shadowを複数のライトグループ毎にレンダリング」をご参照ください。
サンプル ダウンロード |
シーン上の5つのライトを4つのライトグループ(left,right,flont,sky)に設定した下記のシーンで手順をご説明いたします。 ライトグループの設定方法については「AOVをライト毎にレンダリング」をご参照ください。
- シャドウ情報をとりたいライトにライトグループ(ここではflontとします)を設定します。 ライトグループの設定方法については「AOVをライト毎にレンダリング」をご参照ください。
- この方法ではシャドウを落とすオブジェクトと受け取るオブジェクトのマテリアルを aiShadowMatte とする必要がありますので、レンダーレイヤのオーバーライドで行う事をお勧めします。
- レンダーレイヤ(ここではShadowLayer)を1つ作成し、コレクションにシャドウを落とすオブジェクトを登録します。
- コレクションの上で[RMB] > マテリアルオーバーライトを作成 を実行します。
- 「マテリアルのオーバーライド」に aiShadowMatte を設定します。
- aiShadowMatte1 > Shdows > Shadow Color 真っ白にして、シャドウの色がそのままレンダリングされるようにします。 aiShadowMatte1 > Lights > Light Group に、シャドウをレンダリングしたいライトグループ名を入力します。
レンダリングすると ShadowLayer のbeauty として、指定したライトグループが落としたシャドウがレンダリングされます。
- AOVsとしてレンダリングしたい場合は、レンダー設定で aiAOV_shadow と aiAOV_shadow_mask で出力が可能です。
複数のライトグループのシャドウを一度にレンダリングするには、この方法を元にアレンジが必要です。