作者snowanimal (動物先生)
看板PC_Shopping
標題[心得] 動物先生遊戲世界之環境光源吸收特效
時間Tue Jan 17 01:01:26 2012
動物先生遊戲世界之環境光源吸收特效
本文同步刊登在
http://disp.cc/b/PC_Shopping#128-2YuZ << 好讀版
之前曾應邀參加了NVIDIA的技術講座,可惜的是主題並不是最新的開普勒GPU…而是在談
一些NVIDIA的獨佔技術:除了較常聽到的PhysX、CUDA等之外,其中最引起我興趣的的特
效叫做「漫射陰影環場遮擋」,或稱之為「環境光源吸收」,英文稱為:Ambient
Occlusion(簡稱AO)。從NVIDIA控制面板的說明看到:可以藉由降低被周圍物體所遮蔽
的表面環境光線強度來增加場景逼真感。它可以根據物體在場景中的位置,給物體加上柔
軟的陰影效果,以增強深度感知...
http://farm8.staticflickr.com/7024/6708736257_d2e3f45654_b.jpg
看完這一串文字我想大多數的玩家應該頭都昏了,其實針對這特效原理簡單的說明就是:
遊戲中的陰影大多都是單一顏色,且影子邊緣很鋒利。然而現實生活中,要達到鋒利的陰
影,除了點光源或非常強的單向光以外,在正常環境下幾乎是看不見銳利的陰影邊緣。實
際狀況應該是「由模糊的邊緣漸漸地向內變黑」。為了要讓遊戲中的畫面更貼近真實一點
,NVIDIA開發了「環境光源吸收」技術,其基本原理就是去計算光線經過反射、吸收後所
得到的陰影漸層,因此影子再也不是單一色調,而是有深淺的變化。
http://farm8.staticflickr.com/7020/6708737219_af4fe3cecb_b.jpg
從上面這張我利用Power Point繪製的示意圖應該可以很快速的理解,遊戲中的單色銳利
陰影看起來不太真實,而左側加上了柔邊與漸層之後感覺比較像實際的狀況。當然若是只
有來自右上方的單一光源,而其他地方都沒光線,那麼右邊的銳利陰影是沒有問題的。但
現實生活中,或者遊戲內,僅有單向光源的場景應該是少之又少。換言之NVIDIA的「漫射
陰影環場遮擋」特效,就是為了讓遊戲的畫面看起來更真實一些。
開啟這特效真的有如NVIDIA所說的如此貼近真實嗎?而且天下沒白吃的午餐,因此當開啟
特效時對於遊戲效能會帶來多大的負擔呢?這正是我所感興趣的東西。
以下我以魔獸世界作為例子進行測試,會挑選這個遊戲的理由是,曾經看過幾篇討論「漫
射陰影環場遮擋」的文章,有不少人認為遊戲畫面根本感覺不出差異。後來我想了想,魔
獸世界裡面有兩個太陽,而且建築物等東西繁多,在大場景之下或許有不一樣的畫面,除
此之外就是魔獸世界可以登出再登入,兩次都會相同的地方(誤差非常小),因此用來比
較應該是再適合也不過了。測試的地點都在奧格瑪城,只有小小的換了些位置…
奧格瑪地點A
http://farm8.staticflickr.com/7171/6708729963_e9ec9e0728_b.jpg
http://animal.myweb.hinet.net/OA/Field_A.gif
我利用鏡像處理,讓開啟與關閉的結果比較好看清楚。
偏上方的方塊中,可以兩頂看見屋頂帳篷的交接處,開啟AO效果後,會多出一快較黑的陰
影;而下方樓梯從靠近山壁的地方,有個逐漸淡出的黑色陰影。這是因為這個地點位於峽
谷下方,加上光源在畫面正前方仰角約45度處,因此除了沒有太陽直接照射外,靠近角落
的地方,本來就應該比較暗。
奧格瑪地點B
http://farm8.staticflickr.com/7015/6708733137_e32d8b9834_b.jpg
http://animal.myweb.hinet.net/OA/Field_B.gif
光源在畫面正前方仰角約40度的位置。偏上方的黃色框框處,開啟AO後可以較為真實的表
現出屋頂帳篷遮到光線所以比較暗的狀況,不過並不是太明顯。而中間與下方的兩個區塊
就可以比較明顯看見:開啟AO後,山壁下方內凹的地方,以及有植物遮擋的位置變得更暗
,而左方關閉特效則可以發現山壁陰影較小,而且樹下沒有陰影。
奧格瑪地點C
http://farm8.staticflickr.com/7156/6708735833_a9072a6324_b.jpg
http://animal.myweb.hinet.net/OA/Field_C.gif
這同樣也是一處峽谷,但不同的是我人物站在山壁後面,向亮處觀看。可以發現開啟AO後
,畫面右邊的亮度明顯較暗。
在此我也提供相近視角的原始圖片供大家參考。若是無法從以上的貼圖看出開啟或關閉AO
的遊戲場景差異,建議可以點選如下的連結,在同一個畫面下切換開啟與關閉的擷圖,應
該可以看得出不少差異才是。但就遊戲過程而言,這是個很主觀的特效,有些人覺得沒開
特效也沒差,有些玩家喜歡開啟所有的特效。我個人是偏好開啟特效的那一派,不過像是
反鋸齒在魔獸世界裡我就相對比較不在意。
既然決定要開啟這特效來玩遊戲了,那麼會影響多少效能?因為最近沒有深入的玩魔獸世
界,也沒有團可以出。因此就回歸到最基本的鳥點飛行測試,本次選擇由「奧格瑪」飛往
「北方火箭道」,全程約兩分半鐘。開啟與關閉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
http://farm8.staticflickr.com/7147/6708736605_f06dd151ee_b.jpg
http://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換取稍微真實一點的遊戲
場景就端看各位玩家的配備與遊戲類型啦。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.25.16.86
→ Khadgar:最大FPS下降很好阿, min FPS>60后, Avg 和Max都沒有意義 01/17 01:04
→ newsnew:有考慮去達拉然試試嗎? 01/17 01:41
推 mightysuns:\wow/ 01/17 02:13
推 korsg:你配備跟我完全一樣xdd 開啟後會有個大問題 01/17 05:53
→ korsg:某些場景fps會大幅下降 EX:往時光洞穴的路途上那片蟲巢 01/17 05:54
→ korsg:但是轉個角度就恢復正常. 如果把ao關掉則是完全沒問題 01/17 05:54
→ snowanimal:我在奧格瑪內是還沒發生這問題,達拉然現在人不多 = = 01/17 09:35
→ snowanimal:不過可以去達拉然那邊試試看就是了 01/17 09:35