Translate this Website to:

星期六, 5月 28, 2016

Blender 2.77 Cycles : Shadows Only - ID Mask 分離陰影及消除白邊

ID Mask 分離陰影的方法是由 Andrew Price 分享,消除 ID Mask 毛邊的方法來自於 Blender Compositing and Post Processing 一書。


如下圖,場景包含汽車(圖層1)、地板(圖層2)、燈光(圖層11)。將地板物件 ground 的 Pass Index 設為 1,汽車設為 2。


設置兩個 Render Layer : car, ground。car 的 Layer 設定如下圖(圖層1, 2, 11),且記得勾選 Object Index Pass;這個設定會算繪場景中的所有物件:


ground 的 Layer 設定如下圖(圖層 2, 11),排除(Exclude) 圖層1;這個設定只會算繪 ground 物件:


F12算繪,完成後進入節點編輯視窗。加入兩個 Render Layers 節點,一個選 car,另一個選 ground;兩個節點用 Color Divide 處理,如下圖。這個處理的目的應是把陰影以外的地面顏色變為純白色:


加入一個 ID Mask 節點,Index 選 1,如下圖。我們要用這個節點遮掉汽車,只留下陰影:


加入一個 Color Multiply 節點,將  ID Mask 節點連結到 Fac 插槽,如下圖。顏色相乘讓 ID Mask 節點的黑色部份保留 Color Multiply 節點的第一個插槽顏色,白色部份則是兩個插槽顏色的相乘結果。


加入第二個 ID Mask 節點,Index 選 2,如下圖。我們要用這個節點結合汽車與新的陰影背景:


加入一個 Color Mix 節點結合汽車(顏色插槽2)與新的陰影背景(顏色插槽1),將第二個 ID Mask 節點連結到 Fac 插槽,如下圖。顏色混合讓 ID Mask 節點的黑色部份保留陰影背景(顏色插槽1),白色部份則保留汽車(顏色插槽2)。


 這個方法的問題是在模型的邊緣會產生白色的毛邊,就算啟用 ID Mask 的反鋸齒(Anti-Aliasing)選項也無法改善。解決方法是在 ID Mask 節點之後增加一組 Blur 和 ColorRamp 節點來柔化邊緣,如下圖:


Cycles

Blender 學習筆記

0 意見 Comments:

張貼留言

Related Posts Plugin for WordPress, Blogger...