GDC演讲的是Nicolas Lopez,他是育碧蒙特利尔工作室的技术美术专家,拥有超过15年的游戏研发经验,参与过《狙击精英》《杀出重围》《星战:前线》《碧海黑帆》等海量主机3A大作的研发。
本次分享主要讲的是育碧团队如何在《刺客信条:影》的研发过程中解决渲染难题。解析了GPU驱动的管线渲染、光照技术改进、以及一些其他新技术的应用。
内容要点:
1、《刺客信条:影》在表现力方面有哪些特性?
《刺客信条:影》有16乘16公里的大型开放世界、动态天气和季节,并支持可供玩家选择“性能模式”或“质量模式”的次世代游戏主机(PS5和XSX)。它在质量模式下支持光线追踪、远程渲染,且具有独特的网格系统,用于管理资产和性能。
2、Anvil引擎如何管理渲染?
Anvil引擎通过称为Lod网格的网格系统管理渲染,该网格包括一个短程网格、一个主网格和一个长程网格。引擎使用这些网格来优化加载和绘制距离,提供无缝和详细的画面。
3、团队引入了GPU管线的哪些改进?
引入了一种支持虚拟化几何的新GPU管线,可将更多步骤从CPU移动到GPU以加快渲染速度。 新管线专为DirectX 12设计,支持每帧数百万个进程的批处理,优化纹理的使用并降低与早期批处理渲染过程相关的成本。
4、在GPU驱动的管线中,数据库的作用是什么?
在GPU驱动的管道中,数据库充当可以在CPU和GPU之间共享的数据结构的容器。 它促进了面向数据的设计,并用于在两者之间共享完整的场景描述。 数据库中的关系有助于将不同的表链接在一起,提供了一种详细描述网格关系和属性的方式,使引擎能够高效地处理复杂场景。
5、与CPU相比,GPU上的场景描述如何优化?
GPU上的场景描述经过优化,类似于CPU演示,但并不完全相同。 它涉及一种为最大缓存效率而优化的缓冲区结构,在类似C ++ 的接口中使用注释来决定表结构,并启用混合和匹配以获得最佳性能。
6、微多边形几何管线的意义是什么?它与以前的GPU驱动管线有什么不同?
微多边形几何管线非常重要,因为它代表了离散集群网格管道的演变,提供了具有连续细节水平的网格。它使用基于可见性的流集群,并根据其大小使用硬件或软件栅格化多边形,使用几何图形和像素着色器的混合来进行G缓冲区和阴影栅格化。 它与以前的GPU驱动管道的不同之处在于它的内存效率和细节控制。
7、在不同的游戏场景中,育碧的全局光照是如何处理的?
在不同的游戏场景中处理,方法是利用Anvil引擎为开放世界进行全局光照,使其适应大型开放世界(如16乘16公里的尺寸),并使用新的光线追踪全局照明管线支持季节变化。游戏支持一系列渲染,包括从完全烘焙的漫反射和镜面反射到追踪的漫反射和镜面反射。
8、使用了哪些方法来节省地图空间?
为了节省地图空间而引入的包括密度图和拼接端口放置等概念,其中世界各地的分辨率并不统一,主要集中在最重要的地区,如城市区域。密度地图用于确定放置这些高分辨率的位置。
9、游戏对于季节变化的优化,有哪些办法?
对于季节变化提出了两个假设: 春季和夏季在光照方面被默认为相同的季节; 并且假设这些季节的反照率几乎相同。而季节的变化更多地来自地图中的资产变化,而不是依赖雾或者天气。
10、为什么在游戏中使用屏幕光线追踪?
在游戏中使用屏幕空间光线追踪,以避免昂贵的硬件消耗,并在不影响性能的情况下减少高频细节。它作为跟踪过程中的加速步骤,如果识别到目标,则继续进行照明,如果没有,则对探针缓存进行采样。
11、天气和季节对场景的影响是什么?使用了什么技术?
通过引入动态元素 (如对蒸汽温度、湿度、风力等大气效果的流体模拟) 影响场景渲染。天气和季节则会影响体积云、风、雨。该系统使用多状态实体模拟大气因素,并将其传播到各种系统以驱动这些影响。
12、游戏的天气系统,尤其是降雪和降雨,是如何表现和管理的?
游戏的天气系统,包括降雪和降雨,通过各种数据驱动系统进行管理。雪通过数据驱动的模板来处理,该模板可以根据地图或地形让表面的纹理产生变化。降雨通过使用室内体积、深度图和遮挡因素进行管理,渲染可以穿透建筑物中窗户等物体。
13、游戏在技术和复杂性方面,有哪些未来的发展和改进计划?
游戏的未来发展和改进包括在更多的管线和跨几何细节中,使用微多边形支持,简化开发过程,并重新思考如何处理季节和天气系统。游戏的架构旨在推动框架模块化和自定义的边界。
14、如果要开发Mac OS版本,会面临哪些挑战?
平台规模差异显著。 MacOS环境尤其具有挑战性,因为需要直接在Xcode中工作并管理软件在不同平台上的交付。而且Mac硬件的性能从M1到M4的差异也非常巨大,很难从中进行协调。