2020年最受期待的游戏之一《赛博朋克2077》几天前刚刚发布。故事背景设定在一个充满麻烦的未来,视觉效果令人惊叹,庞大的地图让我们好奇CD PROJEKT RED是如何在重塑赛博朋克风格的同时描绘出一个反乌托邦的未来的。该游戏技术艺术总监Krzysztof Krzyścin为我们分享游戏创作的思路与经验。
文章来自Adobe的采访:
https://magazine.substance3d.com/cyberpunk-2077-a-world-full-of-substance/
CD PROJEKT RED是波兰游戏开发工作室。该工作室以其广受欢迎的The Witcher系列以及创作强大的,故事驱动的游戏而闻名。KrzysztofKrzyścin是CD PROJEKT RED的技术艺术总监。他于2000年代以一名环境艺术家的身份开始从事巫师游戏工作。在《巫师2:国王刺客》发布期间,他在华沙工作室成立了技术美术部门,从那时起一直领导技术美术团队。
Krzysztof Krzyścin:作为一名技术美术总监,我主要专注于美术相关管道和渲染技术的研究和开发,包括在我们的游戏引擎、REDengine以及我们工作室使用的所有外部内容创造项目中。我感兴趣的不只是让美工能够提高游戏视觉效果的质量,还包括让内容创造更加有效和流畅。对于《赛博朋克2077》,我们已经开发了一长串的功能。举几个例子:多层着色器管道,程序几何系统,天气(有体积云!),材料库,包括车辆和树叶,远距离人群和车辆,代理系统,世界地图,几乎所有模拟,和游戏中的着色器。
我们还为多个内容创建程序开发了自定义管道和工具,一些-像物质画家和物质设计师-深入集成到我们的内容创建管道,允许艺术家为人物、车辆和环境创建惊人的细节。
Q:《赛博朋克2077》是今年最受期待的游戏之一。从事这样的项目感觉如何?
A:我喜欢把它想象成一段旅程,有点像爬山。刚开始,你需要准备,收集合适的设备,最后但同样重要的是,选择合适的公司。当然,那里经常下雨,很冷,道路漫长而艰难,但同时这也是非常有益的。特别是在接近尾声的时候,当你回头看它是如何开始协同工作的。
Q:《赛博朋克2077》与你之前制作的游戏有何不同?
A:为了处理这样一个人口稠密但仍然可以*探索的垂直城市,我们需要添加到引擎中的技术功能范围对我们来说是一个巨大的飞跃。我们必须在每平方米的空间中添加更多细节,这不仅是因为第一人称视角摄像机的存在,还因为你周围正在发生的许多动态场景。我们称它为无缝游戏,你可以扮演一个名叫V的雇佣兵,当场景播放时,你可以与世界互动。例如,你可以进入一辆汽车,并与一个fixer进行对话,他将为你提供特定的工作,同时骑马穿越夜间城市本身,并实时看到城市的流逝。我们必须添加的另一件事便是玩家自定义选项。自定义资产的数量,所有的服装,武器和mod -结合独特的发型,纹身,网络软件,交通工具-这一切实际上创造了无限数量的外观供玩家选择。
建筑环境也发生了巨大的变化。《巫师3》中充满了自然景观,有几个大城市,其中诺维格勒是最大的城市。夜城的密度更大,有更多不同建筑风格的建筑。在《赛博朋克2077》中,我们需要彻底改变我们组合世界、资产和社区的方式。我们需要开发一个道路系统,交通和人群管理,全新的分层预制管道,处理室外和室内的全局照明,第一人称视角摄像机,等等!我们知道制作这款游戏将是一项非常艰巨的任务,但我们都准备好迎接挑战。
Q:告诉我们更多关于游戏的美术方向。你想要传达的视觉故事是什么?
A:《赛博朋克2077》发生在另一个非常麻烦的未来。在未来,世界面临着环境灭绝、全球变暖、人口过剩和严重的不平等现象的持续威胁,这些不平等促进了富人,却忘记了穷人。但人类善于适应进化。人们接受了控制技术以适应周围的危险,而社会仍然生机勃勃。
从制作的一开始,我们就想接触经典赛博朋克风格的视觉风格,但真正的现代化,并进一步推动极限。夜雨绵绵,霓虹灯闪烁,这是一个极具标志性的画面,与赛博朋克美学有着强烈的联系,但我们想要创造更多属于我们自己的难忘时刻。迷人的日出,污染雾覆盖野兽派建筑的顶部,沙漠的烈日,夜晚城市的天际线——然后地区本身,每一个都有一个独特的形状和颜色的调色板,闪亮的霓虹发光的广告。我们的计划是让这座城市本身成为游戏中的角色。
Q:你为什么决定使用Substance?它是如何帮助你为艺术指导服务的?
A:从早期的概念,项目的规模推动我们使用新的方法来创建材料。对于任何合理的硬件来说,快速估计纹理内存度量和大致的磁盘大小都是不可接受的。但我们决定将分层概念应用到几乎所有的模型中,从FPP项目如武器,角色,环境对象,甚至地形节点。这个想法是我们不会存储任何独特的纹理,而是一个公共材质库,它将基于一个特殊的遮罩在运行时混合。该掩码对于每个对象仍然是唯一的,但由于大多数时候它非常稀疏,我们能够将其压缩到一个更小的数据占用空间。这提高了艺术管道的效率,因为艺术家现在只需要绘制这些材料层,而不是像过去那样将多个纹理组合和平铺在一起。这也改变了网格的渲染方式,因为每个像素都需要计算并平铺它的层。
当然,这个过程需要非常高效。分层让我们有可能实现更多的纹理密度,与原始磁盘大小的一小部分,有效地将非常高分辨率的细节填充到表面。经过与美工和渲染团队的几次迭代,我们有信心这将是可行的,我们开始构建我们的材料库。我们已经将我们的工具子集作为一个插件集成到Substance Painter中,并将其推广给一些艺术家,他们很快就喜欢上了这种方法。当我们首次呈现游戏玩法视频时,已经有成千上万的资产使用了多层着色器,这极大地提高了游戏的视觉质量。
Q:你能给我们快速概述一下你使用的不同工具吗?
A:我们使用Helix/Perforce作为数据仓库,使用Visual Studio作为代码和脚本,所有这些都由我们自己的构建系统管理。我们使用胡迪尼程序内容,模拟,和特殊效果。美工工作大多在Maya / 3ds Max,我们的分层管道通过Substance Painter / Remote Browser。材质库纹理使用Substance Designer完成,所有材质模板使用内部应用程序(材质库管理器)进行编辑。游戏资源是在REDengine中创建的,可以由几个不同的编辑器进行编辑。对于项目管理,我们使用Jira。
Q:你如何创建你的素材库?你能描述一下你使用Substance Designer的情况吗?
A:材料库几乎完全在Substance Designer内部创建(从零开始或从扫描数据作为起点)。每个材料模板由一个图形组成,输出反照率,法线,粗糙度和金属纹理。除了在Substance Designer中创建材料之外,我们还制作了各种微混合纹理。这些包括高度贴图alpha和法线贴图用于遮罩材质。为了支持绘画管道,Mark Foreman(我们负责材料库的高级环境艺术家)创建了一套定制的生成器和过滤器。
我们从最基本的材料开始,比如混凝土、塑料和砖墙。虽然我们确实在材料模板本身有一些简单的表面变化,例如几十种锈金属或佩斯利织物的颜色组合的变化。相反,我们有干净的金属和纯锈,或一个织物材料与多种色调的选择。将它们与不同的微混合面膜相结合,就能得到我们需要的所有变化。这里的好处是,原始模板可以在整个制作过程中不断迭代,而不需要改变任何实际使用它们的资产。
Q:你能更详细地介绍一下Substance Painter和你开发的多层着色器系统吗?
A:它包括额外的遮罩(微混合),其中包括一个专门的法线贴图,允许自定义,在层之间混合。由于这一点,我们可以大大减小掩模尺寸,同时保持清晰的细节。它还将它的层链接到一个特殊的材质覆盖,该覆盖预定义了与给定的材质模板相关的材质变化。例如,混凝土材料具有多个覆盖层,这些覆盖层定义了一系列可能影响普通混凝土材料的环境风化、材料湿度和其他视觉外观。这允许我们的模型具有高度的唯一性。
为Substance Painter定制的OpenGL着色器允许艺术家在绘制模型时预览模型。这个着色器模仿了在我们的引擎中使用的一个:连接相同的纹理到适当的材质层。我们甚至做了一个自定义的色调映射解决方案,匹配我们的引擎色调映射器,以保持物质画家和引擎之间的平衡。引擎着色器使用类似的逻辑层混合,但工作方式不同,因为它使用计算着色器将可见层添加到运行时纹理中。它并没有使用灰度遮罩,而是使用了一种特殊版本的我们称之为数据库的东西,根据表面覆盖面积压缩数据块。
Q:告诉我们更多关于你创建的远程浏览器工具的信息。它如何简化你在实体画家和REDengine之间的工作流程?
A:除了着色器,我们还开发了一个名为Remote Browser的独立工具,作为我们的引擎和Substance Painter/Substance Designer插件之间的桥梁。它作为一个交互层编辑工具可以加载/卸载不同的材料层,并编辑他们的参数,如颜色和其他覆盖,或微混合材料和平铺。每次更改都会更新打开的模型的外观(无论是在我们的引擎中还是在Substance Painter中),极大地加快了不同模型变化的创建速度。想象一下,只需点击几下鼠标,就能将整座建筑上裸露的混凝土换成涂满油漆、布满涂鸦的版本。 如果艺术家决定稍后改变材质,这个工具也管理蒙版导入和图层重新分配的过程。
Q:你在这个项目中遇到的主要挑战是什么?你是如何克服它们的?
A:整个世界架构的规模和复杂性是最大的挑战。我们想要创造一个充满微观细节和深远远景的世界。所有这些都带有复杂的白天黑夜照明,类型定义的氛围,无缝的游戏玩法,以及其间没有加载屏幕。我们必须以一种方式来构建这个世界,我们可以在任何地点,一天中的任何时间,在一些不同的天气条件下,快速地看到它。我们需要用可信的角色、交通工具(包括飞行的无人机)、道具、互动和动态场景来填充它,最后但并非最不重要的是将所有这些放入合理的数据大小中。
在早期,我们决定将可扩展性嵌入到引擎的每个可能的子系统中。对于最昂贵的部分,我们实现了原子系统的远程版本。例如,我们有一种远程车辆渲染技术(基于简单的广告牌),它取代了原来的车辆几何形状,使它能够同时看到数千辆汽车。我们将这种方法与所有潜在世界几何结构的层次简化相结合,这让我们能够在玩家的近距离范围内处理我们想要处理的细节。第一人称视角影响了游戏许多方面的变化,包括故事叙述、场景、一般玩法和互动。
Q:你是否可以与大家分享一些有实质意义的技巧或经验?
A:当然,Marcin Klicki(高级角色美工)的建议是:不管是角色、武器还是交通工具(美工都喜欢在上面使用图案)。碳纤维,材料线,抛光钢,阳极氧化铝,有一个良好组织的集合,大大加快所需的时间,以完成模型。
另一个来自马克福尔曼的建议:按照制作的方式,你可能需要在创建一个材料几周甚至几个月后重新查看它。当你需要解释你过去所做的决定时,一个注释良好的图表将会节省你的时间。使用自定义节点。如果你发现自己经常重复使用节点组,那么可能是时候将这些节点转换为可以在将来的材料中重用的自定义节点,从而在这个过程中节省一些时间。在Substance Painter中,如果你不能从默认设置中得到你需要的结果,不要害怕创建你自己的生成器。手工绘制单个资产是有意义的。但当你开始处理大型资产集合时,拥有1或2个能够达到你想要的结果的生成器可以节省大量时间,让你的时间可以花在真正有价值的手绘细节上。
关于更多机器学习、人工智能、增强现实、Unity、Unreal资源和技术干货,可以关注公众号:三次方AIRX,共同学习,一起进步!AIRX三次方:超酷的开发者学习服务与交流平台(专注ARVR、Unity、Unreal、CV、AI领域)学ARVR开发,来AIRX三次方!!!