Created on | Updated on

Shadowを複数のライトグループ毎にレンダリング

シャドウ情報は aiAOV_shadow_matte で取得することができますが、こちらではシャドウをライト毎にレンダリングすることはできません。 この場合はArnoldシェーダの aiShadowMatte を使用する必要があります。 ライトグループ1つだけに対して設定を行う場合は「Shadowを特定のライトグループのみでレンダリング」をご参照ください。

          サンプル ダウンロード          


シーン上の5つのライトを4つのライトグループ(left,right,flont,sky)に設定した下記のシーンで手順をご説明いたします。 ライトグループの設定方法については「AOVをライト毎にレンダリング」をご参照ください。

  1. この方法ではシャドウを落とすオブジェクトと受け取るオブジェクトのマテリアルを aiShadowMatte とする必要がありますので、レンダーレイヤのオーバーライドで行う事をお勧めします。
    1. レンダーレイヤ(ここではShadowLayer)を1つ作成し、コレクションにシャドウを落とすオブジェクトを登録します。
    2. コレクションの上で[RMB] > マテリアルオーバーライトを作成 を実行します。
    3. 「マテリアルのオーバーライド」に aiShadowMatte を設定します。
      AOVshadow_EachLight_0a.png AOVshadow_EachLight_0b.png
  2. aiShadowMatte1 > Shdows > Shadow Color を真っ白にして、シャドウの色がそのままレンダリングされるようにします。 aiShadowMatte1 > Lights > Light Group に、シャドウをレンダリングしたいライトグループ名を入力します。
    AOVshadow_EachLight_1a.png
  3. この方法では「flont」ライトグループしかレンダリングされませんので、複数のライトグループで同様のレンダリング結果を得るための工程を追加します。
    1. aiWriteColor を取得し、aiShadowMatte1 と aiShadowMatte1SG の間に挟むように接続します。(1-3で得たaiShadowMatte1 > Out Color を aiWriteColor.Inputに、aiWriteColor.Out Color を aiShadowMatte1SG.サーフェスシェーダに接続。
      AOVshadow_MultiLight_0a.png AOVshadow_MultiLight_0b.png

       

    2. aiWriteColor > Write Color Attributes > Name▼ > <Create New...> をクリックして開いた New AOV パネル > AOV Name にこの aiWriteColor が書き出されるAOV(フォルダ名、ここではShadowFlont)を指名します。 新しく作られた AOV は レンダー設定 > AOVsでも確認することができます。

    3. この段階でレンダリングすると ShdowLayer/ShadowFlont の中に aiWriteColor(flontライトグループのシャドウのみが描かれた)画像が作られます。

      AOVshadow_MultiLight_1a.png

       

      AOVshadow_MultiLight_1b.png

      AOVshadow_MultiLight_1c.png
      AOVshadow_MultiLight_1d.png

       

  4. shadow_mask を取得する場合に単純にAOVを有効にするとライトグループ毎の画像を書き出す毎に上書きされてしまいますので、専用のAOVを用意してこれに書き出すようにします。
    1. まずレンダー設定 > AOVs > AOV Browser > Add Custom をクリックし、flontライトグループの shadow_mask を書き出すAOVの名前(ここでは shadow_mask_flont とします)を設定します。
    2. レンダー設定 > AOVs を見ると、新たな AOV が追加されたことがわかります。
    3. aiShadowMatte1 > AOVs > Shadow Mask には先ほど作成した AOV(shadow_mask_flont) を指定します。
    4. レンダリングすると ShadowFlont には シャドウ、shadow_mask_flont にはシャドウマスクが書き出されます。
      AOVshadow_MultiLight_2a.png AOVshadow_MultiLight_2b.png

      AOVshadow_MultiLight_2c.pngAOVshadow_MultiLight_2d.png

       

       

  5. leftライトグループのシャドウも書き出す場合には新たに aiWriteColor2 と aiShadowMatte2 を取得してこれまでと同様の設定を行い、aiWriteColor2.Out Color を aiWriteColor1.Beauty に繋ぎます。
    シャドウを出力したいライトグループの数だけこれを積み重ねます。

  6. 末端のaiWriteColor.Beauty には 新たな aiShadowMatte を取得して aiWriteColor3.Beauty に繋ぎます。 Shdows > Shadow Color は真っ白、Lights > Light Group は設定しません。
    これで beauty にはすべてのライトのシャドウが描かれます。

AOVshadow_MultiLight_3a.png

 

AOVshadow_EachLight_1.png

beauty

 

AOVshadow_EachLight.png
ShadowFlont

AOVshadow_EachLight.png
ShadowLeft

AOVshadow_EachLight.pngShadowRight

AOVshadow_EachLight.png
shadow_mask_flont
AOVshadow_EachLight.pngshadow_mask_left AOVshadow_EachLight.png
shadow_mask_right

問題が解決しない場合は、Born Digital サポートまでお問い合わせ下さい。

※ 問い合わせ対応はBorn Digitalより製品をご購入頂きましたお客様のみのサービスとなります。ご了承下さい。
サポート問い合わせ