《坦克世界》的开发对其专有图形引擎Core Engine提出了持续演进的要求。动态阴影的实现以及软件光线追踪的支持代表了重大的技术挑战,尤其是在渲染具有极高多边形细节的装甲车辆时。本文分析了优化技术,这些技术使得在中端硬件上也能保持流畅的性能。
阴影优化与软件光线追踪 🎮
Core Engine采用混合着色系统。对于动态阴影,它使用级联阴影映射(CSM),根据车辆与摄像机的距离调整深度贴图的分辨率。在软件光线追踪的情况下,引擎不依赖专用的RT硬件。相反,它实现了一种针对高密度网格优化的BVH(包围体层次结构)加速结构。在ZBrush中建模、拥有数百万个多边形的车辆,会在Maya中经历严格的减面过程,生成渐进式LOD(细节层次),引擎交替使用这些LOD,仅计算可见表面的光线交点。
面向性能的美术工作流程 🎨
美术管线是游戏图形成功的关键。建模师在ZBrush中雕刻坦克,捕捉每一个铆钉和焊缝。随后,在Maya中进行重拓扑以及法线贴图和环境光遮蔽贴图的烘焙。这些纹理贴图“欺骗”了Core Engine,模拟出复杂的几何体,而无需在实时处理数百万个三角形。这种技术结合动态着色,使得软件光线追踪能够在底盘上计算出精确的反射,同时不影响战斗中60 FPS的流畅度。
考虑到在包含30辆坦克和可变形地形的对局中的性能挑战,《坦克世界》的Core Engine如何实现实时动态照明而不牺牲视觉流畅度?
(附注:开发时间的90%用于打磨,另外90%用于修复Bug)