最近在製作CSI犯罪現場系列的主要角色 上圖是隊長Jim Brass用Finalshaders Fast Skin材質球所製作出來的皮膚算圖效果. 雖然3S (Subsurface Scattering)的效果與真實皮膚觸感還沒到達完美 不過目前這樣的水準還可接受. 可是有一個很大問題 就是這一張圖片要花六分多鐘才能算完 對於製作動畫是很不實際的 於是趁這個機會 對Finalrender這套渲染器來做一次參數效能評測 找出最佳化的皮膚算圖參數!
講到效能評測一定會先談到硬體環境. 我是用Panasonic Let's Note R4筆記型電腦在玩3ds Max. 它的配備是:
CPU: Intel Pentium M 1.2GHZ L2
RAM: 1 GBChip: Intel 915GMS VRAM: 128MB
HDD: 80GB Ultra ATA100
(請見上圖)
軟體部分是用Autodesk 3ds Max 9 SP1 + Cebas Finalrender Stage-1 R2.0 + Cebas Finalshaders 2.0. 場景設定很簡單 打一個Simple Sky 強度設為0.6, 另外在臉左側約45度角打一盞RecLight強度設為1. 臉材質使用fS-Fast Skin材質球(參考上圖) 分別貼上Surface, Blood, Normal Bump與Refraction貼圖 這個折射貼圖可以大大地增加真實性 但也會消耗許多算圖時間.
首先先看到AdaptiveQMC (自適性準蒙地卡羅演算法), Low與High的預設值算圖時間超過一倍 但是最終結果卻沒有明顯差異
Bounces是設定光子反彈的次數 雖然反彈五次沒有比反彈兩次多出多少時間 但是如果只反彈一次 就只要花6m 5s就完成計算.
與傳統的Scanline rendering不同 , Bucket Rendering(水桶算圖法)是把圖像切割成小區塊 每個區塊分別計算 這裡最小區塊尺寸16 與最大區塊尺寸256 算圖時間就差了一半 (五分鐘左右)
幾何體面數對渲染時間的影響如何? 即使面數增加了十五倍 算圖時間也只增加了一倍左右.
fS-Fast Skin是Finalshaders提供的快速設定真實皮膚材質. Subsurface Sample決定次表面散射的品質. 這邊50與1000所消耗的時間相差將近一倍. 但是數值過低算出來的結果會過於灰白沒有立體感
Geomatric Sample決定光線穿透物體產生內部光照的品質 這和光跡追蹤有關. 預設值是Automatic, 但是Relative與Absolute都可以節省將近一半的算圖時間 雖然品質稍微下降 而且皮膚微紅.
輸出大小當然會影響到算圖時間. 幾乎是呈現倍數成長
方形光(Reclight)的陰影採樣數也會影響到算圖時間 預設值是64 如果改為32則可節省30秒的時間.
由上述效能評測 我們可以得到以下最佳參數Optimized Parameters (括號中的數值預設參數):
AdaptiveQMC-->Low (Low)
Bounces--> 1 (2)
Bucket-->256 (64)
Subsurface Sample-->500 (500)
Geomatric Sample-->Relative (Automatic)
Reclight Shadow Sample-->32 (64)
用這樣的參數來算圖可以與預設值相比節省超過一半的時間 也就是說在算動畫的時候如果本來要花一整天的時間才能算完 如果使用最佳化參數可能就只需要花半天就完成了!
[相關文章]
Making of Lee Teng-hui 前總統李登輝
Vray的全局照明(Global Illumination)演算法原理與比較
It takes 6 minutes because you used an old notebook... you should try it on a desktop with at least Core2dual
ReplyDeleteI can't afford it, could you support me financially =)
ReplyDeleteEven with dualcore, optimization can save your time and money.
嗯 我覺得你在那裡只是找出最優化的速度..不見得是可以算動畫的速度...
ReplyDelete也許有些累加的方法計算光子
但是那也比較適合再場景沒有動態的時候
算gi 尤其是當你的表面有變形的時候
那麼 會大量的使光子..的方向與上次的接連上有很大的影響
很久之前我用了該工具的hyper gi
他可以很漂亮的算出不錯的動畫
但是那時候我東西是幾乎都是硬體
而後當我慢慢的開始有些skin或是變形
他對那部份的處理開始閃爍
並且當我試圖的修正後
也累加了倍數以上的時間
當然我不知道他新版是否有別的工具
但是我認為gi應該不會有太大的躍近..
所以抓出最快的時間以外
更要抓出最穩定的設定
不過話說
之前不發火有使用mr於2009上
他的閃爍穩定度很不錯 還蠻快的說....
我則是沒有機器與技術下
使用傳統的ao對我來說比較安全....與穩定
To Aomay大
ReplyDeleteHyper GI是比較接近Radiosity的技術 它沒有adaptive採樣所以會比image engine慢 最新的AQMAC有前面兩者個優點
靜態測試一定會比動態還快 除非不考慮閃爍問題
所以沒錯 如果是動畫的話 絕對比單格算的更久 因為要採樣更多點避免閃爍
mesh有運動的話會計算更久...
下次有時間要做動畫的最佳化測試.
穩定度也是一個重點 有時候靜態沒問題 動態才會出當機....所以 有時候沒辦法還是預設的scanline最穩定...
MR是內建的渲染器 應該是會很穩定 下次試試看 能不能在速度與穩定度之間達到平衡...