「侠盗飞车 5 (Grand Theft Auto V)」的虚拟世界中什么都有。满是战斗和阴谋的逼真城市社区。野生动物遍布的广阔森林和峡谷。甚至还有身临其境的海底环境供您探索。这生动地展示了在构建数字王国方面,无人可以与「侠盗飞车 5 (GTA V)」的开发商 Rockstar Games 一较高下。
对于我们称为 NVIDIA 百分比靠近软阴影 (PCSS) 的技术如何在虚拟世界中添加细微差别和真实度来说,这是一个绝佳的案例研究。
PCSS 是我们 NVIDIA GameWorks 开发人员工具库的一部分,可帮助游戏开发人员轻松在游戏中添加逼真的阴影。阴影对于创建更加真实的世界至关重要,因为人脑可以有意识和无意识地感知图片中的细微差别。
以下是其工作原理:
事实上,阴影距离投射阴影的物体越近,就越精细。相反地,阴影距离投射阴影的物体越远,就越分散,或越柔和。
NVIDIA PCSS 对此进行了模拟。随着阴影与投放阴影的物体之间的距离增加,阴影逐渐变得柔和。PCSS 还会减少明显的阴影走样 – 阴影边缘的锯齿状线条。此外,PCSS 还可使用阴影缓冲处理人物重影以消除“双倍变暗”部分。而且,由于 PCSS 由 DirectX 11 提供支持,因此可在任何供应商生产的支持 DX11 的 GPU 上运行。
以下来自「侠盗飞车 5 (GTA V)」的图片显示了这一优势。位于左侧的摩托车的阴影比较精细,因为阴影距离摩托车较近。只出现了少量的漫射。相比之下,棕榈树的阴影则随棕榈树距其阴影距离的增加而变得更分散。
以下是另一个示例。树干的阴影在根部很尖锐,但是当您的视线沿着阴影看到树冠,就会发现阴影变得越来越柔和。
现在将其与在我们校园拍摄的真正的阴影(下图)作比较。树干的阴影在根部很尖锐,但是当您的视线沿着阴影向上看到树冠,就会发现阴影变得越来越柔和。
在阴影变得更复杂时,PCSS 只会做得更好。
您以前一定看到过下面这一运河风光中人行道上的阴影。树叶和肢体重叠,挡住了大部分的光。光线通过树冠中的缝隙透过来。若渲染时在考量距离方面做得不好,将会产生不真实的阴影。
我们来看另一个复杂的情景。下面这张「侠盗飞车 5 (GTA V)」屏幕截图几乎与一张照片无异。请注意摩天轮的 PCSS 阴影是如何随距离变柔和的。同时请注意过山车轨道的阴影是如何随轨道上升而变柔和的。
应用 PCSS 的结果不只是产生绝佳的屏幕截图而已。这是一个没有走样阴影和印刷阴影的视觉世界,提醒玩家“这只是一个视频游戏”。软阴影会提供有价值的空间关系线索,帮助用户直观地理解他们处于一个精心构建的世界中。