据了解,全动飞行模拟机每台造价上亿元,其搭载的全动飞行模拟机视景系统,更是担负着把飞行员真实驾驶飞机时的眼前景象虚拟重现的重任,为此,腾讯游戏开发团队对机场区域、城市场景、精细地景等地球级数字资产,都进行了高精度的真实重现,这背后,新一代自研游戏引擎凭借超写实的场景渲染能力,成为了实现这一目标的关键。
全动飞行模拟机外形示意图
打造新一代视景系统面临两大挑战
顾名思义,全动飞行模拟机的意义在于对整个飞行过程进行还原模拟,视景系统就需要呈现尽可能真实的飞行员视角画面。
在开发过程中,开发团队面对的第一大挑战是画面清晰度和稳定性。为了让飞行员看清视野中所应该看见的每个物体,视景系统需要让虚拟场景中视距10公里以上的物体都清晰可见,整个渲染达到12K的超高分辨率,是目前主流3A游戏“4K超高清”标准的9倍。
并且不同于一般的场景渲染,航空工业中的画面渲染数据,例如机场跑道标志线等,是使用细长且多层的几何体制作而成,这些线条状的物体在渲染中极易产生物体边缘锯齿使画面失真,配合很远的视距要求,形如城市建筑等高密集几何体也会带来类似很难处理的细节,这使得普通游戏引擎里常用的,如TAA、FSR、TSR等时域抗锯齿算法,都可能在画面复杂情况下,引入时域的不稳定,导致不可接受的画面闪烁等情况发生。
渲染机场标识线等物体极易产生画面边缘锯齿
与此同时,在虚拟场景下重现飞行视角,不仅有细微到厘米级的机场标识,也要处理天空云层、地表山脉等地球级别的场景数据,所以,超大范围渲染是搭建视景系统的另一大挑战。
在飞行模拟中,模拟机所传来的位置等信息都是以经纬度来传递,这意味着配合仿真模拟,就需要支持高精度的坐标系统,并且,视景系统中绘制的地形系统、城市渲染中所需要的建筑密度和质量、光照和阴影效果的动态表现等要求,都与通常游戏的游戏开发不同,无论在渲染对象的质量还是数量上,都对开发提出了更高的要求。
视景系统对场景渲染范围有极高要求
高稳定性画面让虚拟机场分毫毕现
为了克服视景系统制作过程中的种种挑战,腾讯游戏开发团队利用自主开发的下一代游戏引擎,在各项画面处理能力上做出突破,这其中,引擎可靠性提升,以及独创抗锯齿技术带来的画面时域稳定性,让渲染场景即使面对机场标识等细小场景,也能顺滑流畅的精确渲染。
在视景系统中,画面锯齿以及闪烁,主要来源于如机场标线等场景中纤细和复杂几何体多层几何体堆叠,以及如远景城市建筑,一个渲染像素内有多个材质类型两种情况。
而当代主流游戏引擎标配的TAA类算法在实际执行过程中,对于细几何体或者密集建筑类锯齿,常用的history rectificatiom算法会引入更多的抖动,另外在视角变化巨大的情况下,TAA也会更加难以平滑处理。
为此,腾讯游戏开发团队基于自研游戏引擎独创的抗锯齿技术,加入了空间多重采样,并且使空间多重采样在时域更加稳定。同时,将采样频率和着色频率分开并固定,即在Shading前使用更加稳定并且Filter过的数值进行计算。
基于自研游戏引擎独创抗锯齿技术开发思路示意
最终,与UE5的TSR方案相比,此次视景系统中采用的抗锯齿技术时域稳定性更佳,在移动或者抖动的过程中具备更好的稳定性,Aggregate Shading还可以扩展至可变着色率管线,性能和质量更加满足项目开发要求和预期。
同样参数情况下比对,右边为改进后管线,在快速移动时,右边画面更加稳定
多项尖端技术实现自然环境全动态模拟
另一方面,对于视景系统中如何将真实动态的自然环境实时呈现,凭借自研游戏引擎,腾讯游戏开发团队更是在项目中引入多项尖端技术,实现高品质、全动态画面渲染。
首先,基于Tile的大坐标系统,大世界坐标精度问题利用WGS84的GIS经纬度坐标,做到了对飞行坐标和机场数据的支持,大坐标系统同样服务于包括天空大气散射、雾效等后特效处理,相比UE5中的World Partition方案,视景系统采用的大坐标系统突破了8kmx8km的cell限制,充分满足了模拟飞行大范围、广视角、长视距的要求。
其次,利用全球地景系统,开发团队可以同时渲染基于卫星图的低精度全球地形数据和PCG算法生成的城市高精度地形数据,自动化处理地球曲率问题,并且支持水体渲染。在超过200G的全球地景数据图和
288 x 8K x 2级别的精细城市地形图的前提下,CPU+GPU的硬件计算消耗,仅仅不到2ms。
城市高精度地形数据示意
此外,面对动态场景中,腾讯游戏开发团队引入GPU-Based绘制管线,意在减少CPU大量的数据准备和剔除开销,配合自动反射的GPUSceneData,可以灵活的在ShaderLib中控制需要Instancing的ObjectParam,实现自动Instancing和Occulusion Culling,以机场附近为例,在同屏10000+物体和标准60系显卡的硬件条件下,消耗也可小于2ms。
而且在阴影渲染与光照处理层面,因为视景系统中模拟飞机飞行高度往往超过一般游戏CSM的最大阴影范围,起飞时的高精度场景也需要CM级阴影效果,开发团队选择以Virtual ShadowMap技术作为主要的阴影方案,不仅覆盖范围可以达到42K,精度也能支持到CM级别,同时在整个城市级渲染的情况下,耗时仅为3ms左右。
另外,考虑到光照方案需要支持全动态的特性,无法使用传统烘焙技术,开发团队在视景系统中选择了全动态光照解决方案SmartGI,除了包括多种光照方案特性做到“取长补短”,还针对飞行场景做了重点区域优化,使整体GI时间达到2-3ms的性能表现,高Scalable特性,可以Scale到较低端平台,同时支持Hardware tracing,并针对飞行过程和机场等重点场景使用GI volume控制体素化区域。
SmartGI原理示意
通过一系列尖端技术的相互配合,开发团队在视景系统中呈现出最高同屏三角形数量大于6000万个、渲染范围约1000平方公里并支持24小时动态光照和阴影的全动态机场及城市,更实现CPU多核利用在80%以上、整体运行帧率稳定维持在75fps的水准,超过了当代主流大型游戏60fps的流畅运行要求。
结语
腾讯游戏与南航翔翼联手打造的中国首个完全自研全动飞行模拟机视景系统正式上线,不仅标志着民航领域,全动飞行模拟系统的一次革新,也代表着先进游戏科技在更多尖端行业领域的一次成功“跨界”。
而对于从零开始构建、拥有70万行核心自主代码、中间件可控的腾讯游戏自研引擎而言,视景系统是其对开放大世界制作管线和内容积累、全动态和大范围渲染技术积累,以及探索下一代游戏绘制管线的有效实践。
视景系统中应用到的全球级别城市级建筑和地形素材库程序化内容生产管线,可以无缝迁移到更多开放世界开发项目,本项目积累的经验,也可以有效解决开放世界游戏对于光照和环境的实时性高动态需求,加上完全基于GPU驱动绘制、可变着色率绘制管线、更加稳定的帧率和抗锯齿效果等其他先进特性和技术,让腾讯游戏自研引擎有能力成为驱动未来更多3A级游戏及其他数字项目研发的源动力。