2014/11/28

VRay動畫不閃爍技巧


原文:大家在用V-Ray算動畫有沒有什麼好方法解決閃爍的問題?
編譯:Hammer Chen

本篇收錄了多位專家用戶在製作專案以V-Ray算圖時避免算出閃爍動畫的實戰技巧。算出不閃爍的動畫並不是只有Irradiacne map的prepass + rendering那樣單純而已,因為造成閃爍的原因並不只有不足的GI所造成的光斑會讓動畫閃爍,陰影的採樣以及模糊反射的材質採樣不足,還有大量細節與不足的反鋸齒也會影響。在新版的V-Ray出現『不閃爍動畫』的單一勾選選項之前,我們都還是得乖乖的手動調整相關參數 : )



---以下為翻譯---

Nacho Thomas先生 (DMP/Environment TD ,任職於 MPC):跟你閃爍的類型有關,也跟你場景中移動的方式有關。以下是快速介紹通用法則,最佳解決方案的簡介:

FLICKERING BLOTCHES 閃爍的光斑
通常是不正確或不足採樣的Irradiance map所造成的,有三種狀況會造成閃爍的光斑

  1.  狀況一, 場景中只有攝影機移動,這種狀況最簡單,用multiframe incremental calculation的方法最棒,不會產生任何的閃爍,而且計算相當迅速
  2.  狀況二,單一物件,或是只在很小的區域移動,其餘的物件靜止不動 (例如一輛車在大樓前面移動。這種狀況跟狀況一很類似,方法是你先隱藏移動的物件(例如那輛車) 然後做跟狀況一一樣的步驟,然後取消隱藏移動物件,使用『vrayspherefade』 這個很酷的功能 一格一格的計算包含移動的物件,其反射、陰影、gi、折射
  3.  狀況三,每個frame GI都不同,例如:天光移動,所以GI也改變了。這種方法需要長時間的計算,我們會用"animation>prepass" 一格一格地計算GI 然後再用 "animation>rendering"來進行每格的內差計算 ("interpolation frames") irradiance map會載入(比方說每三個frame)然後平均之,這樣的方法算圖慢且消耗記憶體,但是可以得到最佳的效果。



FLICKERING NOISE 閃爍的雜訊
  1. 以下原因會造成vray 閃爍的雜訊
  2. 區域陰影 (Area shadows)
  3. dome的直接光 (事實上跟區域陰影一樣)
  4. 材質的glossiness小於1
  5. 將primary bounces 設定為Brute force
  6. 反鋸齒不足
  7. Camera subdivision 當使用動態模糊或是景深
主要有兩種方法能夠修復閃爍的雜訊
  1. 將參數的subdivisions設高
  2. 採用好的反鋸齒選項 ,這種方式比較好,但需要更長的時間計算,因為會計算影像的每個像素,而不是整片區域計算(容易產生雜訊)。通常我會用adaptative dmc, min 1 max 6, color threshold = 0.005(普通品質)至0.002(高品質) ,反鋸齒用VrayLanczosfilter可以減少其餘的雜訊問題。
###

Ludvík Koutný:我用VRay算過許許多多非常複雜打燈的場景, 一點都不會閃爍,設定其實非常簡單。一級GI採用brute force,二級採用light cache。請注意不要利用light cache計算glossy reflections,sudbdivs amount要設定為2000左右。

我做過在CG森林中穿梭的車子,動態攝影機追逐的動畫。用以上方法套用效果很不錯,我甚至刻意營造複雜的燈光場景,但是以BF+LC的搭配法就是不會閃爍,只要你記得關閉『Use LC for glossy reflections』的選項,然後要把subdivs設定的夠高就可以。



通常我會採取以下設定
  1.  一切從預設值開始
  2. primary GI設定為brute force,subdivs 20。secondary設定為light cache,subdivs則是跟算圖輸出解析度一樣,例如1280 for 1280x720, 或 1920 for 1920x1080
  3. Adaptive DMC Min 1, Max 4, 
  4. 材質glossiness介於0.8-1 則將glossy sudbdivs設定為8,介於0.6-0.8  則將glossy sudbdivs設定為16,低於0.6 則設定為24。低的glossiness 有時候我會設定為glossy sudbdivs = 32 如果還是會產生雜訊的話。
  5. 關閉subpixel mapping 或clamp output選項
  6. 記得要將你的環境貼圖設定成球體的VrayDome light,這盞燈通常具有20-24 light subdivs ,場景中其他重要的燈具有6-20 subdivs,比較小的附屬燈具有4-8 subdivs

###

Matthew Such:戶外移動的物件我們不用GI算圖,因為我們需要很快速算圖。我們採用的是Ambient Light + VRay dirt 然後VRay domelight作為直接照明,加上HDR map。最終結果不比GI算圖好,但是不會差太多。如果是室內的話具有移動物體,我們會用不同的render passes。

###

Nicky Loughry:我會以Brute Force作為primary而且不使用secondary bounce。用在戶外有大量樹木的動畫,這種場景通常很容易產生閃爍。用BF算圖時間會比較長,但值得,因為最終算圖結果動畫不會閃爍!

另外一種方式是用irradiance map multi-frame incremental 加上light cache,適用於室內外。我還在試這個方法,目前來看我覺得還不錯用,我現在的專案將IR設定的很低, light cache subdivs = 400,sample size = 0.2 結果令人驚訝地好,算圖速度快。室內攝影機移動動畫幾乎沒有或是有些微的閃爍,關於室外場景用的個方法我還沒試過,但是我說出來說不定你也可以試試看。

 [相關文章]


No comments: