速度与激情:《 Forza Horizo​​n 4》借助窗着色器加速

图片

Gareth Harwood-游乐场游戏技术美术总监

极限竞速:地平线4 》的动作在美丽的英国举行,那里到处都是可识别的景点和景点,包括Playground Games版本中的爱丁堡市模型。

在大多数开放世界游戏中,都需要特别注意数据流的速度,《 Forza Horizo​​n 4》及其详尽多彩的城市也不例外。 为了绘制爱丁堡的建筑物,需要新的功能来组装资源,渲染以及功能性引擎,该功能可以在以每小时300英里的速度移动时加载模型。

减少内存负载的模块化解决方案


建筑物是根据来自现实世界的参考而创建的。 为此,必须拍照并制作许多房屋,但是我们可以在磁盘上创建并实际存储有限数量的建筑物。 为了解决这一局限性,在保持可变性的同时, 我们创建了可互换的模块化对象集,这些对象集已添加到建筑物中 ; 这些对象包括窗框,门廊,天线和防盗警报器。 我们还提供了更改这些对象零件的颜色和阴影的功能。 这种系统非常适合用于创建一系列带有露台的房屋,每个房屋都有自己的颜色的门。


在爱丁堡,我们需要在相对较小的区域中创建大量建筑物。 在我们的开放世界的一小部分下载这些建筑物会大大增加所需的内存量。 为了解决这个问题,我们使用从第一层,高层和屋顶库中提取的模块来构建建筑物,这些模块可以通过各种方式连接,从而获得可变性和低内存需求的有趣图片。

此外,这使我们可以将模型的复杂性移到更靠近第一层的位置。 玩家所经过的窗户比只有一定距离才能看见的屋顶具有更多的细节。 像苏格兰纪念碑和国家美术馆这样的独特建筑与模块化建筑相结合, 减少了图片的单调性,同时最大限度地利用了资源并提高了可变性

实现视差纹理



逼真的世界一直是Forza Horizo​​n游戏的重要特征,而创建它们的一种方法是在建筑物中添加内部装饰。

我们知道,在《 极限竞速:地平线4》中,爱丁堡会如此密集和细密,以至于物理建模的内部空间会造成不必要的压力。 因此,我们决定使用另一种称为“视差纹理”的技术。 他们给了我们在创造室内装饰方面的巨大优势。 在将它们烘焙为纹理时,它们不受多边形数量和材料复杂性的限制 。 渲染这样的纹理比创建几何要便宜,因此游戏中可以有更多的内饰。 以前,有必要用窗帘遮盖窗户或遮挡窗户,但现在我们已经拥有了完全视差的内部。


视差室内材料由三层组成,每一层都是由艺术家为每个窗户单独选择的。 由于每一层都有几种不同的变化,因此即使使用少量纹理图集,它们也会为每个窗口创建数百种可能的外观。

第一层很简单,它仅包含一个窗框和玻璃。 他增加了彩色玻璃和铅玻璃等细微差别,这是英国古老建筑的特色。 该层具有扩散,α,粗糙度,金属性和法线通过。 正常通过包含每个彩色玻璃窗的变化,以增加玻璃反射角的实际变化,这在旧的彩色玻璃窗中尤为明显。


第二层用于窗帘或窗帘。 它们具有漫反射和阿尔法(Alpha)以及在晚上用于显示窗帘厚度的透光纹理。 我们有不允许光线透过的致密窗帘,半透明的窗帘,甚至是带有从部分透射光线的开口创建的装饰的窗帘。


在最后一层中,创建了所有着色器魔术-它由模仿三维内部的平坦纹理组成。 首先以相同的比例在3D模型中对内部进行建模,然后将其渲染为视差内部着色器支持的独特纹理格式。 与其他所有图层一样,在此图层中,我们创建了地图集,其中最多包含八个相同样式的内部装饰,以减少绘制调用的次数。

我们有一些在乡村房屋上绘制的乡村地图集,用于城镇房屋的地图集,以及与商店,饭店和经典的英式酒吧重叠的商业机构的地图集。 我们也有两个主要的内饰深度。 一个用于标准房间,另一个用于浅层展示柜。 艺术家可以选择要用于建筑物每个窗口的地图集的哪一部分,然后使用每个窗口的多边形模型的属性指定材料。


着色器计算玩家朝房间看的角度,并更改UV坐标,以便他只能看到在该角度可见的内部部分。 此技术有一些我们已经解决的局限性。

首先,着色器技巧在非常尖锐的角落变得显而易见。 在这种边界情况下,我们增强了玻璃的自然菲涅尔效应,以显示比室内更多的反射图像。 其次,随着角度的增加,房间中央的细节开始变形。 我们通过将重点转移到墙壁和角落,使地板变暗来减少这种影响。 与现实生活中一样,视差效果使您可以合并落入一个焦点的线条。 在我们的图像中,我们利用了尽可能多的平行线来利用这一点:在瓷砖,书架,木地板和墙纸图案中。

每个内部纹理还具有用于夜间照明的照明纹理。 由于纹理烘焙的优势,我们可以使用任意数量的光源,因为结果是所有这些光源都被记录在纹理中。 每栋建筑都有开和关灯的变化。


艺术家可以自由选择窗户,窗帘和内饰类型的任何组合,但遵循简单的规则:卧室通常位于较高的楼层,您不能在每个窗口中使用相同的房间,并且较高的楼层不能通向任何楼梯。 我们还研究了每个房间的说服力。 例如,我们不可能有一个带有两间卧室的小屋,其中有十个或更多的窗户通向不同的房间,因此艺术家创作了窗户,使它们看起来像是同一房间的不同部分。

最后,为了提高将播放器从建筑物移开时的性能,我们不仅需要减少网格的复杂性,而且还需要降低着色器和材质的复杂性。 为此,我们关闭视差效果,并用一层包含窗口,窗帘和内部空间的平面图像替换窗口。 当窗口在屏幕上占据的空间很小并且播放器不可见时,将进行替换。


无论您是穿着老式跑车在爱丁堡悠闲地旅行,检查每个商店的橱窗,还是以每小时300英里的速度在一辆超级跑车中奔跑一百万英镑, Forza Horizo​​n 4都将重现一个美丽,现实和有趣的环境。 每种技术,渲染方法,着色器和纹理都可以协调工作,从而创建了Forza Horizo​​n 4地图中技术上最复杂的部分之一。



译者的话:为了更加清晰,我找到了一段视频,演示了游戏的内饰。

Source: https://habr.com/ru/post/zh-CN433164/


All Articles