snowanimal 發表於 2012-1-17 01:08:50

動物先生遊戲世界之環境光源吸收特效

之前曾應邀參加了NVIDIA的技術講座,可惜的是主題並不是最新的開普勒GPU…而是在談一些NVIDIA的獨佔技術:除了較常聽到的PhysX、CUDA等之外,其中最引起我興趣的的特效叫做「漫射陰影環場遮擋」,或稱之為「環境光源吸收」,英文稱為:Ambient Occlusion(簡稱AO)。從NVIDIA控制面板的說明看到:可以藉由降低被周圍物體所遮蔽的表面環境光線強度來增加場景逼真感。它可以根據物體在場景中的位置,給物體加上柔軟的陰影效果,以增強深度感知...

https://farm8.staticflickr.com/7024/6708736257_d2e3f45654_b.jpg

看完這一串文字我想大多數的玩家應該頭都昏了,其實針對這特效原理簡單的說明就是:遊戲中的陰影大多都是單一顏色,且影子邊緣很鋒利。然而現實生活中,要達到鋒利的陰影,除了點光源或非常強的單向光以外,在正常環境下幾乎是看不見銳利的陰影邊緣。實際狀況應該是「由模糊的邊緣漸漸地向內變黑」。為了要讓遊戲中的畫面更貼近真實一點,NVIDIA開發了「環境光源吸收」技術,其基本原理就是去計算光線經過反射、吸收後所得到的陰影漸層,因此影子再也不是單一色調,而是有深淺的變化。

https://farm8.staticflickr.com/7020/6708737219_af4fe3cecb_b.jpg

從上面這張我利用Power Point繪製的示意圖應該可以很快速的理解,遊戲中的單色銳利陰影看起來不太真實,而左側加上了柔邊與漸層之後感覺比較像實際的狀況。當然若是只有來自右上方的單一光源,而其他地方都沒光線,那麼右邊的銳利陰影是沒有問題的。但現實生活中,或者遊戲內,僅有單向光源的場景應該是少之又少。換言之NVIDIA的「漫射陰影環場遮擋」特效,就是為了讓遊戲的畫面看起來更真實一些。


開啟這特效真的有如NVIDIA所說的如此貼近真實嗎?而且天下沒白吃的午餐,因此當開啟特效時對於遊戲效能會帶來多大的負擔呢?這正是我所感興趣的東西。

以下我以魔獸世界作為例子進行測試,會挑選這個遊戲的理由是,曾經看過幾篇討論「漫射陰影環場遮擋」的文章,有不少人認為遊戲畫面根本感覺不出差異。後來我想了想,魔獸世界裡面有兩個太陽,而且建築物等東西繁多,在大場景之下或許有不一樣的畫面,除此之外就是魔獸世界可以登出再登入,兩次都會相同的地方(誤差非常小),因此用來比較應該是再適合也不過了。測試的地點都在奧格瑪城,只有小小的換了些位置…

奧格瑪地點A
https://farm8.staticflickr.com/7171/6708729963_e9ec9e0728_b.jpg

https://animal.myweb.hinet.net/OA/Field_A.gif

我利用鏡像處理,讓開啟與關閉的結果比較好看清楚。
偏上方的方塊中,可以兩頂看見屋頂帳篷的交接處,開啟AO效果後,會多出一快較黑的陰影;而下方樓梯從靠近山壁的地方,有個逐漸淡出的黑色陰影。這是因為這個地點位於峽谷下方,加上光源在畫面正前方仰角約45度處,因此除了沒有太陽直接照射外,靠近角落的地方,本來就應該比較暗。

奧格瑪地點B
https://farm8.staticflickr.com/7015/6708733137_e32d8b9834_b.jpg

https://animal.myweb.hinet.net/OA/Field_B.gif

光源在畫面正前方仰角約40度的位置。偏上方的黃色框框處,開啟AO後可以較為真實的表現出屋頂帳篷遮到光線所以比較暗的狀況,不過並不是太明顯。而中間與下方的兩個區塊就可以比較明顯看見:開啟AO後,山壁下方內凹的地方,以及有植物遮擋的位置變得更暗,而左方關閉特效則可以發現山壁陰影較小,而且樹下沒有陰影。

奧格瑪地點C
https://farm8.staticflickr.com/7156/6708735833_a9072a6324_b.jpg

https://animal.myweb.hinet.net/OA/Field_C.gif

這同樣也是一處峽谷,但不同的是我人物站在山壁後面,向亮處觀看。可以發現開啟AO後,畫面右邊的亮度明顯較暗。

在此我也提供相近視角的原始圖片供大家參考。若是無法從以上的貼圖看出開啟或關閉AO的遊戲場景差異,建議可以點選如下的連結,在同一個畫面下切換開啟與關閉的擷圖,應該可以看得出不少差異才是。但就遊戲過程而言,這是個很主觀的特效,有些人覺得沒開特效也沒差,有些玩家喜歡開啟所有的特效。我個人是偏好開啟特效的那一派,不過像是反鋸齒在魔獸世界裡我就相對比較不在意。
https://webhd.xuite.net/_oops/animalion/haj

既然決定要開啟這特效來玩遊戲了,那麼會影響多少效能?因為最近沒有深入的玩魔獸世界,也沒有團可以出。因此就回歸到最基本的鳥點飛行測試,本次選擇由「奧格瑪」飛往「北方火箭道」,全程約兩分半鐘。開啟與關閉AO各飛三次,取其平均值。

測試配備如下:
Intel Core i7-950 @ 4.14GHz
Kingston DDR3-1433 4GBx6
Gigabyte X58-UD5
OCZ Vortex 2 SSD 128GB
Windows 7 Ultimate
Battlefield 3

MSI N570GTX Twin Frozr III Power Edition @800MHz
NVIDIA ForceWare 285.55

https://farm8.staticflickr.com/7147/6708736605_f06dd151ee_b.jpg

https://farm8.staticflickr.com/7154/6708736893_62ffd6831c_z.jpg

從結果可以看到開啟AO後平均FPS降低了10張左右(約10.7%),最大FPS則是下滑26.2%!不過在最小FPS則是相差無幾。因此開啟AO特效,在魔獸世界裡看起來會降低10%的效能。這對於高階如GTX 570顯示卡應付魔獸世界,實在是小菜一碟;但對於BF 3這個吃硬體效能的怪獸呢?任何一點效能降低對玩家都是一種考驗。雖然AO有分「品質」與「效能」兩種等級差別,但既然要開啟特效,當然就直接調整到品質啦…所以個人建議要開啟「漫射陰影環場遮擋」效果,最好還是針對每種遊戲進行微調。不然像是英雄聯盟麻…我開啟關閉AO並且抓了快20張擷圖,說真的還看不出效果在哪(FPS也沒差別)。

結論:AO的效果基本上不錯,但並不是每一款遊戲都會有很明顯的差異。開啟AO後會降低約10%的遊戲效能表現(以魔獸世界來說),是否要犧牲部分FPS換取稍微真實一點的遊戲場景就端看各位玩家的配備與遊戲類型啦。

x61055t 發表於 2012-1-17 07:03:51

老實說....我看不出太大差異
頁: [1]
查看完整版本: 動物先生遊戲世界之環境光源吸收特效