2013/10/17

VRay 3.0 Beta Review實測報告



筆者以VRay 3.0 beta的算圖實測效果圖,每張算圖時間皆約30分鐘

作者:Hammer Chen (V-Ray原廠認證專家

優點


缺點

  • 同V-Ray 2.4相比,在相同場景設定下VRay 3.0 beta算出來的圖有時候會產生較多的noise 
  • 目前VRay BPTracer(雙向光跡追蹤)的功能還不夠完整

引言
筆者有超過十年的使用算圖軟體的經驗,從最一開始使用cebas Finalrender,中間有段時間改用mental Ray (因為是3ds max內建),當VRay由1.x升級到2.0時,筆者發現vray 2.0有顯著的速度提昇,因此從那時便成為V-Ray的愛用者。這次Chaos Group推出V-Ray 3.0 beta,筆者跟其他使用者一樣興奮,想要知道是否新版的VRay算圖速度有明顯提昇?其次才是其他新功能的問題。對絕大部分的用戶來說,速度提昇才是升級軟體最主要的考量因素,尤其是算圖軟體更是如此。筆者目前從事的工作內容主要跟粒子特效,涉及到許多碎裂火焰或是爆破,或是水的算圖,因此這篇實測我以使用介面,日常會使用的重大功能與算圖速度作為實測重點。





-可切換的UI使用者介面(Basic,Advanced,Expert)
介面變得更簡潔,提供Basic,Advanced,Expert三種模式切換。過去有朋友批評VRay參數過多,他們只想以藝術家的角度來操作算圖軟體,覺得VRAY太複雜,他們喜歡mental ray用滑桿操作品質的使用方式。.這次VRay 3.0在預設介面中,將複雜,進階的參數都收(隱藏)起來了。你可以用Basic,Advanced,Expert三種模式切換。越後者其參數顯示的越完整。這個功能可以讓初學者不致被過多的參數嚇到,但是對老用戶來說需要每次去按Basic,Advanced,Expert按鈕才能找到他要的參數,有點麻煩。


-VRay ToolBars:  VRay Quick Settings 快速設定
它的作法不是把滑桿直接做在vray的主要選單介面中,而是再透過VRay Quick Settings來控制,分成exterior,interior,vfx三種狀況。當我按下exterior按鈕後,會切換GI Engine為 BF + BF;但當我按下inteior按鈕便會切換成IM + LC。換句話說 ChaosGroup在設計這個Quick Settings時認為室內設計比較適合用IM + LC,但是戶外就比較適合用 BF + BF的搭配法。滑桿共有33級,Irradiance Map 與Light cache的參數還是相互搭配的。跟mental Ray的Fianl Render:FG Precision滑桿的5級有所不同。相信這些參數的搭配是由ChaosGroup專業的經驗所搭配出來的。

筆者還蠻好奇為何室外場景的預設是用BF + BF?因為一般相信BF雖然品質好但是算圖時間很久,且容易有雜訊感。是否新版的BF速度有變快呢? 我們做了以下測試:

以上場景以V-Ray 2.4算圖,共耗時51分鐘13.6秒

相同場景以V-Ray 3.0 beta,共耗時30分鐘20秒

儘管V-Ray 3.0 beta的算圖結果跟V-Ray 2.4相比有較高的noise,但是算圖時間大幅減少了40.8%


-新的Image Sampler: Progressive Rendering
Progressive Rendering是VRay 3.0新推出的功能,與以往渲染方式不同,Progressive Rendering顧名思義就是從粗糙一點的品質,持續地算圖,算到品質較高的畫面為止。你可以由Min Max Subdivs來控制品質,或是可以直接限制算圖時間。這樣的操作筆者認為類似Maxwell Render的操作方式。

漸進試算圖,由粗糙到細緻

因為可只直接指定算圖時間,若是渲染動畫也比較好估計整體所消耗的時間。由與Progressive Rendering的特性,讓你無需等待長時間就可以很快地看到場景算染的概括品質,如果在前面幾個pass就發現哪邊設定有問題,比方說燈光或是材質,可以馬上停止算圖進行修改,這樣可以節省等待的時間。

另外Progressive Rendering會持續地算圖,直到指定的品質為止,所以也能夠用在專案製作上,做出最棒的完成品。筆者認為這兼顧了VRay RT的優點,又能融合到現在的工作流程。


- Embree :CPU算圖加速功能 
新版的VRay是否真的如原廠所說,算圖速度變快呢? 有哪些CPU支援這項加速技術呢?
據說intel最新的CPU有支援SSE, AVX技術的都可使用此加速功能。筆者無法找到有明確的表格說明哪些Intel CPU確實支援Embree。但筆者以自己的i5筆電測試,的確可以明顯地減少算圖時間。


上圖破碎的陶瓷,若是沒有使用Embree加速功能,算圖時間為1小時43分46秒。若是勾選Use Embree加速,算圖時間為1小時33分41秒,換句話說本例裡面若採用Embree加速可以減少9.7%的算圖時間。而且筆者還發現,不管是何種GI搭配,都可以達到加速的效果,不一定要是Brute Force類型的GI。


自動地縮小算圖框(Render bucket)

-Dynamic Splitting of the render buffer
動態地縮小Bucket Render Size:各位在用V-Ray算圖一定會個經驗就是V-Ray採用分割(Bucket)算圖,一開始的時候每個Bucket各司其值,假設有8核心的CPU就會有8個Bucket在吃整個算圖畫面,但是當算到快要結束的時候,因為只剩下一塊,也只有一個CPU核心正在進行算圖,算的特別慢。因此就會產生所謂的『last bucket syndrome』,最後一塊症候群。V-Ray 3.0提供了這個選項會動態地分割Bucket,當算到最後一塊時,會自動重新分配工作給所有的CPU(把Bucket切的更小),所以即便是最後一塊,還是能最有效率地計算完成! 這也就是為何V-Ray 3.0能夠比V-Ray 2.0更快速地其中一個原因。


-Probabilistic lights 機率燈
當場景有大量燈光時,這個功能讓你可以最佳化採樣。當關閉這功能時,計算每個採樣點時V-Ray會評估場景中所有的燈光,當場景有大量燈光,大量GI反彈要計算時,會導致需要追蹤大量的陰影,也因此最後算圖速度會變得很慢。當開啟這個功能時,V-Ray會隨機地選取指定數量的燈光,然後只將這些燈光納入計算。指定的數值越小算的越快,但是可能會產生較多的雜訊,數值越高,雜訊越小,但算圖時間增加。


筆者以以下範例,這個場景有13盞VRayLight。左邊是沒有勾選Probabilistic lights功能計算出來的效果,算圖時間為6分46秒(406;勾選Probabilistic lights則算圖時間為4分15秒(255。因此Probabilistic lights可以減少算圖時間達37.1%。但儘管算圖時間減少,可是算圖結果雜訊較多。筆者認為這個功能可以用在場景燈光複雜時,作為預覽算圖使用,或者必須搭配Progressive Rendering,才能避免雜訊的問題。

左邊:未開啟機率光  右邊:使用機率光功能




-Max ray intensity  最大射線強度
這個選項可以壓制非常亮的射線,通常會在雜訊很高的算圖畫面中看到。這個功能類似Subpixel mapping + Clamp output的功能,但是Max ray intensity是作用在所有二級射線(GI/reflection/refraction)上面,與前者處理最終影像是不同的,這可以有效地壓抑白點雜訊,但不會讓最終影像失去過多的HDR資訊。類似於Subpixel mapping選項一樣,Max ray intensity會讓最終影像產生某種失真,因為跟正常相比,可能算圖結果會暗一點。


這裡我們以茶杯為例,這裡我們刻意將地板設黑一點,讓我們更容易看到螢火蟲效應。場景以BF+BF的GI設定算圖 可以看到左圖會有明顯的小白色雜點 可是當我們勾選了Max ray intens 並將數值設定為1,這樣算出來如右圖,能夠有效地抑制白色雜點的產生。(請將圖片放大到全解析度來看)


左圖的Min Shading = 1; 右圖Min Shading = 64
-Min shading rate
這個選項讓你可以控制反鋸齒的射線數量,會影響到glossy reflections,GI,area shadows。這對Progressive image sampler十分有用,越高的數值代表花越少時間在計算反鋸齒,且會花越多在shading效果上面。


-VRay Helper / VRay BPTracer (Bi Directional Path Tracing)
新類型的unbias的GI引擎。當使用VRay BPTracer,會自動計算場景中的Caustic,所以不需要額外勾選Caustic。目前使用的限制是:不支援3ds max內建的Frame Buffer。筆者認為這還在實驗階段,似乎功能還不完整,比方說玻璃杯,雖然我可以用Radius控制品質,讓雜訊減少,但是他似乎不能正確地計算環境,導致玻璃某些區域看起來過黑。相同場景用傳統的方式計算就不會有這樣的問題。相信VRay BPTracer有其潛在適用的場合,但是以現階段來看 還是不成熟的功能。


VRay BPTracer的使用方法只要在場景中放置VRay BPTracer Helper就可以了,這時VRay原本的GI設置會失效,完全由VRay BPTracer來控制。VRay BPTracer算圖的特色是漸進式的,由粗糙的品質開始持續地計算,然後越算越細緻,直到設定的iterations count達到為止。


在預設的radius我發現其caustic產生的光點非常細緻,雜訊看起來過多。手動將raduis可以減少雜訊的問題,但是過大radius也會讓細節消失。圖由左至右為:dafault, radius = 0.1, radius = 0.5

-其他的新增功能

新的Shaders
-VRayScater Volume
-VRayGLSLMtl
-VRayHaitMtl
-VRayOSLMtl
-VRayVRmatMtl


新的Maps
-VRayICC
-VRayLut
-VRayOCIO
-V-Ray Vismat material (讓你可以在不同軟體平台間交換材質,例如 Maya與 3dsMax之間)
 -V-Ray Metaballs

 -Render Mask
- 透過VRayProxy支援Alembic

- 支援 Deep Data

結論:
  1. 跟V-Ray 2.4相比,V-Ray 3.0 beta可以減少約 40 ~75%的算圖時間,但在有時候會產生較多noise的算圖結果
  2. Embree真的能加速算圖,大約可以減少10%的算圖時間,重點是這個加速功能不會影響到算圖品質
  3. Progressive Rendering是這版重大的更新功能,既能用在預覽,也能用在專案最終算圖上
  4. "Dynamic Splitting of the render buffer"是很小的新增功能,但能讓你在不升級硬體的狀況下,有效地使用所有的CPU算圖
  5. Probabilistic lights機率燈對於具有大量光源的場景相當有用 
  6. VRay BPTracer 還在研發當中,功能不夠完整
[相關文章]


No comments: