2009/06/30

VRay RT即時算圖引擎

mental ray, Finalrender, Brazil, Vray...任何一套算圖軟體, 其實專案有很大的一部分是消耗在調整燈光強度與材質效果. 執行專案有個特性是 燈光, 材質是會交互影響的 往往問題是燈光調好了 材質還要在微調一下, 反之亦然; 如果這時候再加入另一個參數----曝光控制與白平衡...那又會花更多的時間來來回回調整材質與燈光配置.

Autodesk 3ds Max軟體自2008版本開始就在即時算圖方面下了功夫, 3ds max 2008版本支援realtime shadow與Mentalray physicalsky可以即時顯示在背景, 對於調整燈光陰影很有幫助; 3ds max 2009則是進一步支援realtime IES燈光效果 對於建築室內裝潢表現十分有用; 到了3ds max 2010又增加了Realtime AO, softshadow的功能(如下圖), 不過這類型的即時算圖, 應該是稱為hardware rendering主要是靠顯示卡計算的, 會有以下三個缺點:
  1. 必須要有好的顯卡支援 通常是跟晶片配合shader language
  2. 用即時算圖算出來的效果 與傳統算圖引擎算出來的效果沒辦法完全一樣
  3. 必須要搭配特殊材質設定才能正確地表現出質感 (ie: mental mill的材質球)
一個角度來看, 某些產業最終照片級的效果並不是重點 重點反而是調整的過程 能夠讓客戶(或是工業設計師ID) 即時反應與修改. 於是市面上便推出了數種即時算圖的軟體 請見以下比較表:

HyperShot

Artlantis Studio

Linceo VR

Rendition

VRay RT

支援 HDRI

Yes

No

Yes

Yes

Yes

支援GI

Yes

Yes

Yes

Yes

Yes

Reflection

Yes, Raytrace

Yes, Raytrace

No, only the reflection map

Yes, Raytrace

Yes, Raytrace

Refraction

Yes

Yes

No

Yes

Yes

以材質作為光源

Yes, 但是是透過隱藏的功能

Yes

No

Yes

透過VRaylight材質球

支援毛髮表現

No

IES燈光支援

Yes

3S效果

No

No

No

Yes

No

曝光控制效果

Yes

DOF景深效果

Yes

No

Yes

Yes

Yes

提供材質

Have

Have

Have

Mental Ray shaders

支援大部分VRay材質與maxmap

可編輯模型

Yes

Yes

Yes

No

Yes

支援格式

3DS, FBX, OBJ, SKP (SketchUp), 3DM (Rhino), Pro / E, SolidWorks, STEP, IGES

3DS, FBX, OBJ, SKP (SketchUp), GS1 (Arc +), DWG

3DS, OBJ, WRML, 3DM (Rhino), STEP, IGES

MI (scene file exported 3DMAX, Maya, XSI, and some others)

直接在3ds max當中使用, 不需要轉檔

適用產業別

能夠與CAD-software有很好的交換

建築與室內

3D視覺化產業

支援多核心

Yes

Yes

Yes

Yes

Yes

特殊功能

模擬真實天光

可用來產生動畫

CPU-based的計算, 不需要特殊搭配顯卡; 可透過網路算圖利用多台電腦進行即時運算

製表人: Hammer Chen; 參考自俄文網站CASKET CAR2NER'A

因為工作的關係能夠第一時間拿到Choas Group VRay RT這套軟體, 以下是相關測試資料供網友參考:
如上圖, VRay RT在使用上相當簡易, 你只要在ActiveShade將算圖引擎設定為VRayRT即可, 但是要注意的是, Production render的算圖引擎還是要定為VRay, 至少要SP3版本才能夠與VRayRT搭配使用. (註: VRay RT目前支援3ds Max 9, 2008, 2009與2010版本)

VRay RT介面上並沒有太多選項可以讓你選; Trace depth, GI depth可以調小一點 這樣算玻璃等折射材質會快一點 不過不建議去動它; Show statistics顯示統計資訊, 讓你可以知道計算多久了; 另外這裡你還可以看到vrscene export輸出vray場景檔 (跟mental ray獨立版有點類似的感覺)

VRay RT到底是靠怎樣的原理 讓它可以算的如此飛快? TensSun兄這篇文章似乎透露了一些端倪:
...在之前看到RT的展示影片時
大概就能看出他是用lightcache演算法
RT很像是把lightcache變成被動技能
再做一些最佳化之類的...
既然是利用lightcache計算的, 那當然也具有lightcache的某些缺點: 比方說計算bump map效果不明顯, 必須使用VRay材質球 (註: 使用其他材質球有時候沒辦法即時更新效果或是顯示貼圖), 動態模糊可能計算不正確...等, 請參考作者之前寫的"Vray的全局照明(Global Illumination)演算法原理與比較" 裡面有詳細說明.

儘管如此, VRay RT仍然是相當不錯的即時算圖軟體 因為它可以直接整合到3dsmax裡面 不需要轉換模型 燈光; 也不需要套用特殊材質. 導入VRay RT到既有的工作流程當中 幾乎不用再做特殊的設定就可以看到即時算圖的效果. 以下是一些實際使用的範例(場景檔取自VRay簡體書籍的範例光碟)

如圖, 透過VRay Physical camera, 可以像玩單眼那樣調整光圈, 快門, 白平衡與景深 (註: 與其它算圖引擎不同, 這裡如果改變f-number也會影響到景深效果). VRay RT還有個特性就是continues rendering 持續的計算, 在active shade畫面中如果你不去動它, VRay RT會自最粗略的品質開始計算 然後越算越細, 永不停止. 所以如果你把Active shade的解析度設定為2k的話 或許在經過20分鐘的計算後, VRay RT的計算結果就可以當做最終的效果圖(Production render); 而Chaos Group所強調---VRay RT與VRay是共用計算核心的, 就是這樣的概念.

VRay RT在經過1.2秒, 32.7秒, 1分2秒, 2分8.5秒後的算圖效果. 可以看到在點擊Active shade的瞬間就可以看到間接照明與景深的效果, 隨著計算時間增加品質越趨細緻.

VRay RT在經過1.5秒, 32秒, 2分2.7秒後算出來的效果. 上圖SONY HDV打了一盞HDRI光源, 兩盞VRay light. 對於工業設計等商品, VRay RT幾乎在30秒內就能算出產品的光線變化與質感表現了.

VRay RT在經過2.3秒, 55.6秒, 2分40秒算的室內表現圖. 上圖是一個典型的室內設計場景, 共打了5盞area lights與數盞omini lights; 有經驗的都知道area light的陰影最漂亮也最寫實 但是需要花很多時間計算. 除了複雜的燈光外, 場景中還有需多反射模糊的木紋 玻璃桌几上的玻璃杯等需要消耗大量計算的物體.

整體而言, VRay RT用起來的感覺是很實在的, 它算出來的效果幾乎跟原廠在一年前發布的兩段影片(汽車與室內設計)是一樣的, 不像某些軟體會在預告片裡面加油添醋. 對於ID工業設計表現而言這套算圖引擎幾乎是必備的工具 幾乎可以即時(大約有幾秒的等待時間)看到材質/光線效果; 對建築室內表現而言 適當的最佳化場景還是必要的 (在測試大塊燈光 材質時 可以先把一些小物件隱藏起來 加快VRay RT的計算) 由於可以即時看到area light, vraylight material, IES燈光, 模型面數較少的展場公司應該能夠把這套當作與客戶溝通的工具 用法變的很像Maxwell Multilight那樣的感覺了. 總結VRay RT特點:
  1. CPU-based
  2. use same core with VRay
  3. continus rendering

[相關資訊]