Background
新闻骑马与砍杀

《骑马与砍杀2:霸主》新开发日志介绍全局光照

骑马与砍杀中文站
11/21/2019

《骑马与砍杀》官方团队发布了最新一期的开发日志,重点介绍了他们目前实现的全局光照技术。

翻译来源:矮子@骑马与砍杀中文站

在现代游戏中,光照是不可或缺的因素。优质的光照能让不同视觉元素自然融合,呈现逼真且美观的效果;相反,光照差则会让即使最精细的模型与纹理也显得黯淡无光。团队意识到这一点,决定将全局光照(GI)整合进游戏引擎,以提升整体视觉体验。

Article Image
Article Image

最近,团队致力于对该引擎的光照功能进行增强与大规模优化。本文将花点时间与大家深入讨论GI技术,包括我们的需求、系统运作方式以及实施过程中遇到的挑战。

GI(全局光照)是一种模拟光线从一个表面反射到另一个表面的系统,亦即间接照明。它让光源(如火把)发出的光更自然地与周围物体交互,部分光线被吸收,剩余的再反射到其他物体上,从而在游戏世界中呈现逼真的光照效果。

在《霸主》中,团队选择了一种适用于多种硬件的GI处理方案。该方案通过在预定义的探测点上传输光线,既降低了内存与硬盘占用,也减少了人工后期调整的需求。

Article Image

我们从多种技术中汲取灵感:核心程序采用预计算的辐射传输技术,在动态低频照明环境(如Sloan等人提出的模型)中实现实时渲染,并配合离线光线追踪器确保光照贴合地面真实效果。后续对计算流程的微调,使其不会对游戏玩法产生负面影响(例如提升火把的环境光照)。

该系统基于探测点的光照方式,主要面临漏光问题,从而影响画面质量。为此,团队使用阴影贴图技术(参考Morgan McGuire等人2017年的研究),该技术常用于带可视幻灯片的辐照度与光场探测器。实现自动化探测、阴影贴图放置与渲染是整个过程最耗时、最具挑战性的环节。

首先,探测点越少越好,可显著降低内存与硬盘占用。团队在自动渲染时利用导航网格获取代理点位置,然后投射光线寻找场景可见点。整个可见点搜索以网格方式自动完成,随后系统自动为可能导致漏光的点分配阴影贴图。例如,位于房屋外部的探测点可能影响屋内外的光照,系统会检测并渲染阴影贴图以防止漏光。最终,系统计算每个点的光线传输函数,能够一次性覆盖任何等级城镇、多人地图或内部场景。

Article Image