在游戏中启用环境光遮蔽(Ambient Occlusion)

前一页下一页

在游戏中启用环境光遮蔽(Ambient Occlusion)

环境光遮蔽是一种视觉效果,最初由Industrial Light and Magic (ILM)开发并在2001年的电影《珍珠港》得以应用。 2003年,英伟达™精视™(NVIDIA® GeForce®)FX开始对其提供硬件支持。 第一款使用环境光遮蔽的游戏是Crytek在2007年底开发并推出的《孤岛危机》。 2009年,英伟达™(NVIDIA®)在其v185驱动程序中添加了环境光遮蔽,作为一个控制面板特性。 本文章结束部分提供了通过控制面板支持环境光遮蔽的最新游戏列表。

概念和工作原理:

在3D游戏设计中,最为严峻的一项挑战就对光线的行为以及它在不同的纹理和表面上的效果建立逼真模型,同时避免对帧速率造成影响。 在电影行业中,动画师可以利用强大的计算能力,并花费大量时间在一个帧的设计上面。 3D游戏引擎则没有这么奢侈。 环境光遮蔽技术用于实现类似于电影的照明质量和实时性能。

环境光遮蔽是一种光照模型,它会计算像素亮度与场景中的附近物体之间的关系。 更具体地说,它将确定何时阻止特定像素接收附近的几何体的环境光,这样其亮度值便会降低。 当两个均匀明亮的物体时相互靠近时,它会产生基本的变光效果。

下面提供了环境光遮蔽的一些实例,首先是一个简单的模型。

上面的斯坦福龙呈现在一个均匀照明的环境中。 模型中有一些较黑和较亮的区域,但照明大部分都是均匀的。 尽管有相当复杂的几何形状,但龙看上去很平,没有明显的深度感觉。

下面是启用了环境光遮蔽的相同模型。

使用环境光遮蔽之后最明显变化是图像中添加了一些平滑的阴影。 与包围在模糊边缘中的固体区域构成的标准阴影不同,基于环境光遮蔽的阴影具有宽阔和平滑的层次。

可以将环境光遮蔽视为全局照明(GI)的近似形式。 GI会根据周围环境产生的光照来计算每个像素的颜色。 完全暴露在周围环境中的区域(如龙的鳍)显得更亮,而光线受阻的区域(如龙的腹部)则显得更暗。 要使用GI计算这些特性,通常需要执行大量的光线跟踪操作,但这在实时环境中是不可行的。 AO可以对相邻像素的相对深度进行比较,从而实现类似的效果。 最终的结果是,AO可以实时呈现与全局照明观感相类似的光线柔和、有阴影的图像。

在现代游戏中,环境光遮蔽可能会以HBAO或SSAO条目的形式列出在图形选项菜单中。 这两者均表示环境光遮蔽;水平基准环境光遮蔽(Horizon Based Ambient Occlusion,HBAO)是屏幕空间环境光遮蔽(Screen Space Ambient Occlusion,SSAO)的一种优化形式。 如果游戏通过菜单选项支持AO,那么可以在菜单中设置它。 否则,请在英伟达™(NVIDIA®)控制面板中设置它(有关受支持游戏的完整列表,请参阅本文附录)。 没有必要在这两个位置同时设置它,这样做不会有任何作用。

要在本身并不支持AO的游戏中激活该特性,请按以下步骤操作:

  • 在桌面上单击鼠标右键,然后选择英伟达™(NVIDIA®)控制面板。
  • 单击“管理3D设置”
  • 选择“环境光遮蔽”。
  • 选择“性能”或“质量”。 “性能”选项可提高速度,“质量”选项用于提高图像质量。 在256系列驱动程序发布之前,只能在在英伟达™(NVIDIA®)控制面板中将“环境光遮蔽”设置为“开”或“关”。 256发行版可允许用户在两种不同的质量水平之间来回切换,如下图所示。

《半条命2》

下面给出了《半条命2》的两张屏幕截图。 基于Valve的Source引擎的所有游戏均可在控制面板中启用AO支持,包括《反恐精英》、《半条命2》、《求生之路》系列和《团队要塞2》。

此处的《半条命2》未启用环境光遮蔽。

在控制面板中启用AO后的相同的图像和角度。

以上屏幕截图的多个区域都应用了环境光遮蔽,但最显著的差异是左中的墙上电话四周。 在上图中,电话是一个贴在墙上的平面模型;物体与它所依靠的墙面之间没有任何相对深度。 在启用了环境光遮蔽的第二张屏幕截图中,电话盒在墙上投下了和现实中一样的阴影。

《冲突世界》

接下来是支持DX10的《冲突世界》:

《冲突世界》:关闭环境光遮蔽

《冲突世界》:启用环境光遮蔽

AO的作用并不仅限于室内或阴暗的角落。 《冲突世界》展示了环境光遮蔽的影响力究竟有多大。 在《冲突世界》中,环境光遮蔽显著改善了草地和附近树林的图像质量。 更容易看出天空中混合了云和太阳,因此云会在草地上留下特定的阴影图案。

《镜之边缘》

《镜之边缘》是支持环境光遮蔽的另一款快节奏热门游戏。

《镜之边缘》:关闭环境光遮蔽

《镜之边缘》:启用环境光遮蔽

在第一张屏幕截图中,可以明显看到场景有许多处都呈现了环境光遮蔽的效果。 这可能基于离线渲染光影图。 墙上的火室明显缺少AO效果,这可能是因为该物体是在生产流水线之后添加的。 在控制面板中启用AO之后,火盒的阴影随之出现。 这展示了AO在脱机阴影技术中的效用——AO可实时运行并且适用于场景中的所有物体。

《孤岛惊魂2》

我们的最后一个示例是以繁茂的热带丛林为场景的《孤岛惊魂2》。 可以看到,效果立标见影:

《孤岛惊魂2》:关闭环境光遮蔽

《孤岛惊魂2》:启用环境光遮蔽

《孤岛惊魂2》:“高质量”环境光遮蔽

“性能”和“质量”模式之间的差异相当细微。 但是,启用AO和关闭AO之间效果差异则是立竿见影的。 激活AO之后,热带草本植物在地面上投下了更加逼真的阴影。 在《孤岛惊魂2》这种丛林细节对于环境格外重要的游戏中,环境光遮蔽对于增强游戏的逼真度起到了至关重要的作用。

结束语

各向异性过滤和抗锯齿等功能可通过消除伪影来提高图像质量,而环境光遮蔽则可通过在游戏中增加一个额外的照明和阴影层来加强逼真度。 与此同时,它可以提供全球照明的诸多收益,而不会影响帧速率。

应用程序支持

从257.15(Beta版本)驱动程序开始,英伟达™(NVIDIA®)控制面板将在以下应用程序中支持环境光遮蔽:

DirectX 9

  • 《魔兽世界》
  • 《镜之边缘》
  • 《Fallout 3》
  • 《使命召唤4》
  • 《使命召唤5》
  • 《求生之路》
  • 《反恐精英之起源》
  • 《半条命2:第2部》
  • 《团队要塞2》
  • 《半条命2》(原版)
  • 《传送门》
  • 《刺客信条》
  • 《极度恐慌 2》
  • 《GRID》
  • 《Dead Space》
  • 《Unreal Tournament 3》
  • 《Oblivion》
  • 《Armed Assault II》
  • 《求生之路2》
  • 《闪点行动2:龙腾》
  • 《德军总部》
  • 《AION Online》
  • 《狂野西部:生死同盟》
  • 《街头霸王5》
  • 《龙腾世纪:起源》(
  • 《RUSE》
  • 《极品飞车:变速》

DirectX 10

  • 《刺客信条》
  • 《Bioshock》
  • 《孤岛危机》
  • 《Lost Planet: Extreme Conditions》
  • 《Lost Planet: Colonies》
  • 《狂野西部》
  • 《Company Of Heroes》
  • 《Cryostasis》
  • 《Devil May Cry 4》
  • 《孤岛惊魂2》2
  • 《冲突世界》
  • 《生化危机5》
意见