《骑马与砍杀2:霸主》新开发日志介绍全局光照
- 来源:3DM整理
- 作者:骑马与砍杀中文站
- 编辑:landother
《骑马与砍杀》官方团队公布了全新一期的开发日志,本次介绍了目前所使用的全局光照特效。
翻译:矮子@骑马与砍杀中文站
光照对于任何一款现代游戏都非常重要。优秀的光照效果能使屏幕上不同的视觉元素结合起来,提供更真实且美观的效果。反之如果光照效果不好,即使最精细的模型和纹理也会显得黯淡无光且毫无生气。我们团队敏锐地意识到了这一点,这也是我们将全局光照(Global Illumination,以下简称GI)引入到我们游戏引擎的原因。
最近我们一直致力于增强和大范围优化这个引擎功能,因此我们想和花点时间和大家扩展开来,详细讨论一下GI,包括我们的需求,系统如何运作以及在应用时遇到的困难。
那么,什么是GI呢?简单地说,GI是一个系统,它能模拟光线如何从一个表面反射到另一个表面上,也就是间接照明。这种技术能使光源(如火把)发射的光线以更自然的方式与周围物品相互作用,其中一些光线被物体吸收,剩下的反射到其它物品上。最终在游戏世界里呈现出真实世界的光照效果。
在《霸主》中,我们决定采用一种GI的处理方案来处理不同的照明环境,这种方案可以在广泛的硬件上应用,并且使内存和硬盘的使用率更低,每个场景所需的人工也会更少。根据这些需求,我们决定使用一种静态的解决方案,在预定义的探测点上对光线进行传输。
我们从多种技术上获得灵感以实现我们的目的。光照的核心程序是使用预计算的辐射传输技术在动态低频照明环境(如Sloan, et al, 2002)中进行实时渲染。此外,我们还实现了游戏内一个离线光线追踪器,以确保光照能符合地面的真实效果。之后,我们还对计算程序进行了一些修改,这样就不会对游戏性造成负面影响(如增加火把的环境光照)
我们现在引擎所使用的这种探测为基础的光照方式,最主要的一个问题是漏光,这会大大降低画面质量。为了解决这个问题,我们使用了阴影贴图程序(Morgan McGuire, 2017),这种程序一般用于带有可视幻灯片的辐照度和光场探测器。不过,这个应用过程中难度最大和耗时最长的部分是实现自动化探测,以及对阴影贴图进行放置和渲染。
首先,探测点越少越好,因为这样可以节省大量内存和硬盘的使用率,这也是我们设计这个系统的初衷。因此,为了在不增加硬件负担的同时还能获得满意的视觉效果,我们在自动渲染的过程中使用了导航网格来获取代理点的位置。然后,再通过这些位置投射的光线来查找场景的可见点。整个查找可见点的过程都是以网格的方式自动进行探测。在此之后,系统会自动将阴影贴图分配给可能导致漏光的点。例如,一个处于房屋外部的点有可能影响房屋的内外部光线,系统会探测到并自动进行阴影贴图的渲染以防止其漏光。最后,系统会计算每个点的光线传输函数。无论什么等级的城镇,无论是多人地图还是内部场景,这个过程都可以一次性完成。
这个自动渲染的过程可以通过编辑器在我们内部的集成系统中运行,为场景制作节省大量的时间。好消息是这个功能也能供MOD制作者使用,而且使用起来非常简便,只需要在场景编辑器中按下一个按钮便能实现这个功能。此外,还有许多高级编辑操作的优化,如套索以及编辑器中的几何选择操作和各种快捷方式,都能为场景制作节省时间。
对于这个系统的最终结果我们是很满意的。我们在GI上的应用很显然增强了游戏的视觉效果,使场景更立体,环境更逼真。实现这一切的同时,还使游戏对硬件的需求降到了最低!
玩家点评 (0人参与,0条评论)
热门评论
全部评论