2020年最受期待的游戏之一《赛博朋克2077》几天前刚刚发布。故事背景设定在一个充满麻烦的将来,视觉效果使人惊叹,庞大的地图让咱们好奇CD PROJEKT RED是如何在重塑赛博朋克风格的同时描绘出一个反乌托邦的将来的。该游戏技术艺术总监Krzysztof Krzyścin为咱们分享游戏创做的思路与经验。数据库
文章来自Adobe的采访:浏览器
magazine.substance3d.com/cyberpunk-2…markdown
CD PROJEKT RED是波兰游戏开发工做室。该工做室以其广受欢迎的The Witcher系列以及创做强大的,故事驱动的游戏而闻名。KrzysztofKrzyścin是CD PROJEKT RED的技术艺术总监。他于2000年代以一名环境艺术家的身份开始从事巫师游戏工做。在《巫师2:国王刺客》发布期间,他在华沙工做室成立了技术美术部门,从那时起一直领导技术美术团队。网络
Krzysztof Krzyścin:做为一名技术美术总监,我主要专一于美术相关管道和渲染技术的研究和开发,包括在咱们的游戏引擎、REDengine以及咱们工做室使用的全部外部内容创造项目中。我感兴趣的不仅是让美工可以提升游戏视觉效果的质量,还包括让内容创造更加有效和流畅。对于《赛博朋克2077》,咱们已经开发了一长串的功能。举几个例子:多层着色器管道,程序几何系统,天气(有体积云!),材料库,包括车辆和树叶,远距离人群和车辆,代理系统,世界地图,几乎全部模拟,和游戏中的着色器。架构
咱们还为多个内容建立程序开发了自定义管道和工具,一些-像物质画家和物质设计师-深刻集成到咱们的内容建立管道,容许艺术家为人物、车辆和环境建立惊人的细节。机器学习
Q:《赛博朋克2077》是今年最受期待的游戏之一。从事这样的项目感受如何?编辑器
A:我喜欢把它想象成一段旅程,有点像登山。刚开始,你须要准备,收集合适的设备,最后但一样重要的是,选择合适的公司。固然,那里常常下雨,很冷,道路漫长而艰难,但同时这也是很是有益的。特别是在接近尾声的时候,当你回头看它是如何开始协同工做的。工具
Q:《赛博朋克2077》与你以前制做的游戏有何不一样?oop
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三次方!!!