很久沒有發新貼了,今天趁著火星時代論壇的改版,發個新貼捧捧場先。
同時,我也希望能通過這個帖子拋磚引玉,真正地讓高手發表一下自己的意見和想法。
三維渲染的東西要和真實場景合成一向是比較棘手的事情,除了攝像機問題外,
真實場景中的很多因素無法完全真實的在三維中重現,給最終的合成帶來了許多麻煩。
就我掌握的知識來看,三維渲染和真實場景的合成有很多方法可用。
例如可以在三維渲染中進行分層渲染,將渲染結果按照
diffuse、specular、reflection、light、depth、shadow等分開,
然後到後期軟件中統一合成。
例如,如果可能,真實場景中的燈光照明最好能夠精確測量,
可以利用在場景中設置粗糙表麵的場景球、鏡麵球來獲取場景
的光照方向、相對亮度等情況。
如果有可能,通過拍攝光探頭圖像也就是製作場景的hdr貼圖
可以獲取更為真實的環境光效。
後一種方法存在著一些局限性,例如,動態視頻的情況下,
不可能來準確獲取一個變化場景的光照參數,
而且,在三維下用全局光加hdr貼圖渲染太耗費時間,調整也十分不便。
接下來,我來探討一種在AE下簡單可行的合成方法,雖然在下水平有限,
但我感覺這還不失為一個可以考慮的常規用法。
例如,我們要考慮把下麵的風景和汽車模型合成在一起。
如果在三維中簡單的把圖片放在後麵做背景,汽車設置一些反射來渲染的話
(當然這兒不談全局光這些耗費時間的東西),那麼如圖:
參數我並沒有仔細去調整,所以效果可見是十分的差,汽車表麵完全沒有映襯出環境光來,例如天空的藍色,路邊麥田的黃色。
有的朋友或許說,可以在三維軟件下打上各色的等來彌補,
但是,渲染靜幀固然可行,如果是動態視頻背景的話,就會問題多多了。
那麼如果從合成的角度來解決這個問題的話,同樣的三維場景,同樣的燈光設置,隻要做一些分層渲染,就可以在很大程度上提升畫麵的效果和質量。
可以把汽車的diffuse、shadow、reflection、light這些通道分別渲染輸出
渲染diffuse圖層的時候,在max下的話,需要把環境光打到白,然後關閉場景內所有燈光,渲染即可。
由於在After Effects中要用到WE插件,所以,在max下輸出燈光層需要把獨立成組的燈光分不同顏色,並把三維物體的材質設成缺省standard,再渲染。
這樣在AE下就可以準確識別燈光的來源。
當然,在max下的燈光分布也要大概和真實場景中的光源方向類似。
我在max下把三個燈設成紅綠蘭三色,
在做其他合成的時候,場景內的燈原則上可以無數個,
但是輸出燈光層的時候要將顏色分組,目前最多不能超過6組,否則AE就無法正確識別。
另外,三維物體上暗部位的材質需要相應調暗,玻璃類透明物體全部予以刪除。
玻璃這類高反射的透明物體甚至可以另外單獨渲染,最後再合成,這裏就不多展開了。
下麵先來看下需要合成的背景層。
我們在AE下使用WE插件,來模擬真實場景的燈光,反射等情況。可以得到的結果是: