作者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
1F:→ Khadgar:最大FPS下降很好阿, min FPS>60后, Avg 和Max都没有意义 01/17 01:04
3F:→ newsnew:有考虑去达拉然试试吗? 01/17 01:41
4F:推 mightysuns:\wow/ 01/17 02:13
5F:推 korsg:你配备跟我完全一样xdd 开启後会有个大问题 01/17 05:53
6F:→ korsg:某些场景fps会大幅下降 EX:往时光洞穴的路途上那片虫巢 01/17 05:54
7F:→ korsg:但是转个角度就恢复正常. 如果把ao关掉则是完全没问题 01/17 05:54
8F:→ snowanimal:我在奥格玛内是还没发生这问题,达拉然现在人不多 = = 01/17 09:35
9F:→ snowanimal:不过可以去达拉然那边试试看就是了 01/17 09:35