200911261545淺談 AO (Ambient Occlusion)



淺談 AO (Ambient Occlusion)



建模師們特別喜歡用 AO




AO 可以補強GI  跟 FG 的不足




未加 AO,乍看還好,仔細比較還是可以看出端倪。




少了 AO 輪胎好像沒著地,浮浮的。



加上 AO之後,感覺比較扎實。


之前在淺談全局照明 (Global Illumination) 的文章中提到過,由於在3D軟體中無法模擬真實世界裡一樣,去計算天文數字的光子,於是我們利用最終彙集 (Final Gathering) 技術來計算鏡頭內看的到的反射光來彌補光子數的不足,即便如此,如果使用較低的設定,算圖速度雖快,但精確度還是不足,如果使用較高的設定,畫質雖得到改善,但算圖時間會增加好幾倍。而所謂的精確度不足,很多時後在物件與物件相近的地方,反射光會有減弱的現象,而使用較低設定的最終彙集計算不出這種效果,在不想拉長算圖時間的情況下,Ambient Occlusion 應該是最好的選擇,這又是個超難翻譯的名詞,直接照字面上翻譯就是『環境光吸收』,雖然不順口,但容易懂,就是把 GI  跟 FG 沒有計算出來的物件與物件相近的減光自然現象,做個強制減光,物件與物件越接近,陰影就越深,可以補強GI  跟 FG 的不足。

近年來 AO 越來越紅,因為所需的算圖時間並不長,卻增加了不少真實感,好像建模師們特別喜歡用,花很少的功夫,就可以讓模型大大的增加真實感。

在 Maya 裡面加 AO 有很多種做法,可以加在一起算,也可以分開算一個 AO pass,算一個獨立的 AO pass是比較好的做法,因為你可以快速調整它的明暗度。

點選所有的物件之後,在 Render 項目之下,按下 "Create a new layer and assign selected objects" 加一個新的 Render Layer,然後在 Hypershader 裡面新增一個 Surface Shader ,打開這個 Surface Shader 的 Attribute Editor 在 Out Color 的項目上,套上一個 MentalRay 的 texture shader 叫做 "mib_amb_occlusion",將這個 Surface Shader 套上場景內所有的物件,這時所有物件將會變成黑色,這是正常的,不用擔心, 再打開 "mib_amb_occlusion" 的 Attribute Editor  粗略估算你的物件根鏡頭的距離有幾個單位(格子),將數據填入 Max Distance 內,試算滿意之後再將 Sample 調高到 512 便可。




加一個新的 Render Layer




套上一個 MentalRay 的 texture shader 叫做 "mib_amb_occlusion"




將數據填入 Max Distance 內,試算滿意之後再將 Sample 調高到 512 便可



接下來就是合成了,可使用 Photoshop 或任何合成軟體,將原來的算圖結果放在下層,將 AO pass 放在上層並由原來的 "Normal(Over)" 改成 "Multiply" 這時你可以任意調整 AO pass 圖層的透明度或明暗度,以加重或減輕 AO pass 的效果。



沒有上一則|日誌首頁|沒有下一則
回應
關鍵字
    沒有新回應!





Powered by Xuite