
最近在製作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)演算法原理與比較