为 VR 生存射击游戏打造怀旧废弃场景:Into the Radius 2 达恰环境美术解析

AI3D 发表于 4 周前 浏览 0 分类 新闻资讯

How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter

介绍

大家好!我叫 Stanislav Petrushin。我是一名资深环境美术师,在行业内已有七年多经验。我的背景涵盖从《使命召唤》这样的 AAA 大作到《Into the Radius》这样的沉浸式 VR 项目。 我从小就对电子游戏着迷,但意识到自己可以成为这个行业的一员却相当晚。29 岁时,我还在做市场营销。我诚实而勤勉地完成工作,但我绝对讨厌它。

每一天,我都受到一种感觉的困扰:我的人生正朝着错误的方向前进,而我内心对创造力的追求始终不肯放过我。再等下去已经没有意义。我递交了辞呈,辞职奔向“虚无”。到那时,我已经坚定地决定投身 3D 图形,尽管我对此一无所知。我只知道有 Blender 这个东西,并在其中迈出了最初笨拙的几步。

我简直把自己锁在家里,每天无例外地投入 12 小时学习。我吸收了能接触到的一切:视频教程、论坛、本地社区,以及 80 Level 和 Polycount 上的拆解分析。说实话:驱动我的不仅是狂热的兴趣,还有一种非常真实的恐惧。我的积蓄甚至撑不过一年节俭的生活。某个时候,我开始在本地社区发布进展,并开启直播。计划很简单:如果我公开承诺展示成果,我就无法放弃,因为人们在等着,而我习惯信守诺言。

而且奏效了!正是在那时,我意识到游戏开发有很多路径,但我被创造完整世界的想法迷住了。后末日、废弃之地和黑暗幻想的美学成了我的主要关注点。在这种日常持续三个月后,我开始带着几件粗糙的作品集作品投递简历。回复要么是礼貌的拒绝,要么是彻底的沉默。当我终于获得一次面试,并收到一家本地小工作室的美术测试时,我惨败了。

但这只是激励了我。后来又经历了几次失败,但我不断回到工作中,分析自己的错误,并继续前进。到学习的第六个月,我的钱几乎花光了。我认真考虑去本地咖啡馆打工,只是为了不必放弃 3D 并回到过去的生活。然后,一家外包巨头回复了。这是我的最后机会。我把那段时间吸收的一切都倾注到美术测试中。考虑到过去所有的错误,我按时提交了作品。

在两周痛苦的等待后,我收到了录用通知。那是纯粹的喜悦,夹杂着对未知的恐惧和巨大的责任感。我以初级美术师的身份加入工作室,工作得越多,我就越清楚地看到自己知识上的空白。自学是一件棘手的事:你可能理解最复杂的细节,却缺乏基本术语。尽管如此,这种节奏得到了回报。三个月后,我成为中级美术师,七个月后,我被提供团队主管的职位。尝试这个角色后,我意识到自己正在回到管理、电子表格和无休止的电话中。

尽管我很擅长这个角色,我还是有意识地辞去了该职位,选择专门作为美术师发展。就这样,我在一年内成为了资深美术师。这次成功成了我的“个人诅咒”。我产生了严重的冒名顶替综合征:感觉发生的一切都是某种错误,毕竟不久前我还什么都不知道。为了压过这种恐惧,我开始更加狂热地学习。结果,我从社交媒体和公共空间消失了七年,完全沉浸在生产中。

在此期间,我参与过《Enlisted》和《CRSED: Cuisine Royale》等项目,以及《使命召唤:战区》和《现代战争 II》这样的重量级作品。过去三年,我一直投入于《Into the Radius 2》——一款技术上复杂的 VR 生存射击游戏,背景设定在一个异常的后末日世界,在那里我可以运用自己积累的全部经验。

How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter
How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter
How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter
How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter
How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter
How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter

废弃的达恰

我在《Into the Radius 2》中的最初任务之一,是创建带有完全可进入内部的模块化达恰房屋。VR 中的环境艺术与其说是绘画,不如说是工程。在虚拟现实中工作就像在剃刀边缘行走。这是技术上的地狱,每一个决定都必须提前十步计算清楚。严格的性能要求(两块显示屏上的高分辨率加上稳定的帧率)不容有失,而且由于纹理压缩和简化的图形,头显中的一切不可避免地看起来比你希望的要简单一些。

因此,我决定在作品集中展示这些资产,而不做任何技术上的妥协。我在虚幻引擎 5 中搭建了一个专用场景,使用原始项目资产,但由 Lumen 光照和原生纹理分辨率驱动。我的目标是揭示这种建筑的“真实面貌”,同时小心保留项目的美学。这就是“废弃达恰”渲染图的由来。

让我们看看这一切是如何开始的。

参考与 VR 白模搭建

我首先仔细分析了参考资料,以确定那个时代和地区的关键建筑元素。我对素材的研究非常深入:数百张废弃村庄的照片和数十个城市探索视频。对我来说,重要的不仅是理解外观美学,还要理解建造方式:这些房屋内部是如何建造的、它们如何老化,以及它们如何在几十年间逐渐衰败。

How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter

在 VR 中,一切都始于头显内部所感受到的环境氛围。我从一个简单的比例盒原型开始,以从玩家视角验证比例和空间感。我检查了每一项基本指标:墙体厚度、天花板高度和门洞宽度。

只有在这些尺寸最终确定后,我才继续创建模块化套件:墙壁、屋顶、地基和装饰物。这种方法让我们能够高效地组装出大量独特的建筑变体,同时显著缩短制作时间。

How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter
How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter
How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter
How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter

开发中总有意外发生的空间。在 blockout(白盒)阶段,玩家尺寸仍在调整。某个时候,游戏设计师提高了角色身高,突然之间,玩家再也无法在阁楼里容身。胶囊体撞上了倾斜屋顶。你不得不蹲下才能向前移动。我们在 blockout 阶段发现了这个问题并迅速修复。这里的主要教训是:要不断在头显中测试一切。VR 对“建筑真实性”的要求比平面游戏严格得多。

工具与工作流程

我的主要工具一直是 Blender。在我的职业生涯中,我用过 3ds Max 和 Maya,但 Blender 的灵活性和速度完全符合我的需求。话虽如此,我坚信应做到工具无关。我的工具库包括用于有机雕刻的 ZBrush 和用于布料模拟的 Marvelous Designer。我总是选择能最快、以最高质量完成任务的工具。我工作流程中另一个不可或缺的部分是游戏引擎。在我的职业生涯中,我用过各种工作室自研引擎,但我的职业道路最终把我引向了 Unreal Engine。

它是生产的最终舞台。在这里,我不只是导入资产和贴图,还会专注于材质设置、关卡美术和性能优化。创建模块时,我坚持严格的项目规范:完美的网格吸附、精确放置的轴心点,以及清晰的命名约定。对我来说,这是职业道德问题:一个干净的项目,是我向之后要使用我的资产的同事说“谢谢”的方式。

我采用了一套灵活的工作流程,把我在 Call of Duty 时使用的中面数方法与 VR 的严苛现实结合起来。在虚拟现实中,玩家可以近距离检查任何角落,因此完美无瑕的轮廓是首要任务。我们完全放弃了视差遮蔽映射(POM)、置换或复杂着色器等重型特性。我必须找到“最佳平衡点”:几何体足够密集以形成平滑形状,同时将整体多边形数量保持在最低限度。

在 VR 中,你不能只依赖激进的 LOD。头显对其过渡(LOD popping / LOD 跳变)极其敏感,这会瞬间破坏沉浸感。采用这种方法,就不需要复杂的高模雕刻、漫长的烘焙或后续重新拓扑。中面数流程提供了必要的形体可信度,节省了大量时间。

贴图 

对于大型表面的贴图,我使用了可平铺贴图混合。在工作室里,我们使用分层材质和内部自定义工具来显露图层,但核心原理与传统顶点色混合完全相同。

对于达恰(dacha)房屋,我准备了一组三个基础层:

  • 带有旧漆痕迹的木板。
  • 同样的木板,但有严重破损和剥落的油漆。
  • 老旧、发黑的木材,几乎看不出油漆残留。
How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter

我从 Megascans 素材库中取了一张干净、平直木板的法线贴图。这让我瞬间获得了一个完美的基础。其余一切,比如层层油漆、破损、多年磨损的痕迹,以及独特的腐朽质感,都是我在 Substance 3D Painter 中以一张 2×2 米的平面作为画布手动构建出来的。

为什么我选择 Substance 3D Painter 而不是 Substance 3D Designer?在这个具体案例中,Substance 3D Painter 为艺术上的精细打磨提供了多得多的自由度。它让你能通过模板和手绘立刻添加独特细节,这对于营造废弃场所的自然外观至关重要。虽然我经常用 Substance 3D Designer 从零创建复杂的程序化材质,但在这里“重复造轮子”毫无意义。如果已经存在高质量的基础,直接使用它能节省大量制作时间,而这些时间最好花在细节刻画上。

装饰物和小型模块化元素则使用遵循同样原则创建的 Trim 纹理。这种方法使得拼装整座村庄成为可能——每栋房子看起来都独一无二,同时保持极高的纹素密度。在 VR 中,这是一个关键参数:玩家随时可能把脸凑到表面上,而表面必须尽可能保持清晰锐利。

How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter
How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter
How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter
How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter
How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter

在游戏里搭建起这套扎实的技术基础后,我希望把这些资产放到 VR 限制之外进行展示。对于个人作品集,我需要完全掌控画面中的每一厘米,并进行高度集中的叙事。这在一个庞大的开放世界及其玩法限制内是不可能实现的,因此我为最终渲染从零搭建了一个场景。

灵感来自“温馨末世”这一概念。通常,废弃场所会被描绘得寒冷而可怖,但我希望唤起观者的忧郁与怀旧感。正因如此,我放弃了常见的灰色调,转而采用温暖的阳光。对我而言,重要的是表现出即便身处衰败之中,仍能保留一丝家的温暖与凝固的时间。

在这个阶段,我需要更多参考,但它们是情绪层面的,而非技术层面的。我分析了《The Last of Us》《Metro》和《S.T.A.L.K.E.R.》等类型大师的视觉语言。这帮助我用环境细节中的“无声故事”来填充场景。作为起点,我取出为项目创建的资产并开始摆放,以迭代方式搭建场景——从大体块到小细节。

与此同时,我寻找机位,不断试验相机与灯光,直到在建筑几何体与阳光之间找到完美平衡。构图围绕故事展开:我安排道具,让每个画面都像是一段多年前骤然冻结的生活中的一幕。

How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter

由于我的主要目标是展示建筑、模块化与纹理,我使用了项目同事制作的植被资产,以及 Megascans 库。在实际生产环境中,懂得如何划分优先级至关重要:如果已有高质量的现成方案,还坚持一切从零制作是很愚蠢的。这让我能够完全专注于核心元素。

灯光

在《Into the Radius 2》中,我处理的是烘焙光照,主要关注技术优化。不过,在“Dacha”中,我使用了 Lumen 系统。说实话,这是我第一次完整设置偏向艺术表现而非技术性的灯光,我是在实践中边做边学的。

我的设置由 Unreal Engine 5 的标准工具集构成,没有使用任何第三方插件或自定义方案:

  • Directional Light:暖色阳光的主要来源。
  • Sky Light 与 Sky Atmosphere:用于创建柔和的补光与真实的天空。
  • Exponential Height Fog:用于增加景深与空气透视。
  • Post Process Volume:最后的润色。在这里,我特别关注了 Color Grading、Bloom 效果与曝光设置。

使用 UE5 默认工具集再次证明:你并不总是需要复杂的技术技巧才能营造出引人入胜的氛围。只要理解基础原理,并有清晰的艺术愿景,就足够了。

How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter

VR 开发的特殊性

正如我之前提到的,VR 制作中的环境美术意味着要在极其严苛的边界内工作。我们无法使用 Lumen、Nanite 或复杂 Displacement 这类重型技术。而在这些条件下,我们还要创建一个庞大的开放世界,这本身在 VR 中就很罕见。如果要梳理我所面对的主要挑战,列表如下:

  • Draw Call:在开放世界中,每个 Actor 都很关键。作为美术,我想做出漂亮的窗框,带独立窗扇,并有一套模块化碎玻璃系统,让碎片图案不重复。但现实很残酷:每扇模块化窗户由 8–11 个独立对象组成。当立面上有几十扇这样的窗户时,性能就会直接因为 Draw Call 数量而崩溃。你不得不持续寻找平衡,激进地合并几何体并合并材质。
  • “Shell & Box”方案与 Lightmap:项目需要 7 种主要建筑配置,每种都需要多种室内布局变体,且能根据玩法需求快速替换。我决定从根本上将外部与内部分离。为此,我把最终房屋立面合并成统一的“Shells”,同时将室内组装为独立、可互换的“Boxes”(法线反转的单面几何体)。

这些室内 Box 与 Shell 的内墙之间有一个微小偏移,刚好足以避免 z-fighting,同时仍能让子弹贴花正确投影。我刻意保留了外部 Shell 的内侧多边形,而不是删除它们,因为它们充当防止漏光的关键封堵。这种模块化拆分也带来了巨大的优化收益:合并立面大幅减少了 Actor 数量,并消除了 Lightmap 接缝伪影。此外,它还让我能智能地分配 Lightmap 预算。

玩家大部分时间都待在室内 Box 中,因此这些区域获得了高分辨率阴影。与此同时,外部 Shell 不需要那么高分辨率的 Lightmap,因为室外的投影细节要少得多。在为 Shell 打包 Lightmap 时,我把可用的最大密度分配给了外表面,而隐藏的内墙则按剩余原则进行打包,缩到最低分辨率,仅仅用来填满剩余空间。

How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter
How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter

– 碰撞:在平面屏游戏中,几何体与碰撞往往能容忍不准确。但在 VR 中,玩家可以直接走到任何表面跟前、触摸或推动它。粗糙的碰撞会立刻被视为虚假,并彻底破坏沉浸感的可信度。你必须花大量时间细致地手动调整对象的物理边界,让它们的触感与外观完全一致。

话虽如此,这里有一种聪明的省时方法。Unreal Engine 允许你通过 Static Mesh Editor 中的“LOD for Collision”设置,将现有 LOD 网格用作碰撞几何体。通常,倒数第二个 LOD 非常适合这一用途。它简化到足以对性能友好,同时又保留足够细节,以维持 VR 中的物理准确性。对于原本需要数小时手动建模碰撞的复杂形状,这尤其有效。

– 材质预算与 Shader 复杂度:Layered Materials 是建筑场景的绝佳工具,能快速生成变体,但必须谨慎使用。在底层,如果无节制地使用,它们很容易变成性能陷阱。例如,如果某个房间在玩法上是“干净”的,只需要基础表面,那么为了省事而给它保留 3 层 shader 就是大错特错。

即使这些层在表面上不可见,引擎仍然会计算完整的多层 shader,成本要高得多。在一张庞大的 VR 地图上,场景需要为每只眼睛以高分辨率渲染,这些重型指令的开销会迅速累积。因此,凡是适用之处,激进地把重型分层实例替换为绝对最便宜的标准替代方案,是根本性的优化步骤。

How to Create a Nostalgic and Abandoned Environment for VR Survival Shooter

作为一名环境美术师,请始终记住,你的目标不只是让画面好看——而是让它们能够正常运作,尤其是在 VR 中。性能是玩家舒适度的基础。每一条浪费的指令或每一个冗余的 Actor,都可能对体验造成损害。

时间、主要制作挑战与建议

在工作室制作中,很难准确计算创建模块化套件本身所花费的时间。这经历了长达数月的迭代、测试和修改。至于“Abandoned Dacha”项目,大约花了 100 小时的纯工作时间。由于基础资产和材质已经就位,大部分时间都用于试验 Lumen 光照、优化构图,以及打磨每一帧以达到理想氛围。

在上一节中,我描述了 VR 的严苛限制,但整个制作过程中最大的挑战是一整个城市街区。任务是创建一个由多层砖砌建筑组成的密集环境,玩家几乎可以进入任何一套公寓。该系统必须允许游戏设计师在任何建筑的任何部分切换可游玩的室内空间。

由于窗户中没有完好的玻璃,这进一步增加了难度,也排除了使用虚假视差(Parallax)室内来营造效果的经典廉价技巧。在 VR 的严格限制内设计出如此灵活且优化的系统,是一个重大的工程难题。不过,我以后会再详细讨论这一点。

你可以在下面的《Into the Radius 2》预告片中一窥该地点的实际效果:

说到我对这套工作流喜欢或不喜欢的地方,很难只挑出一点。总的来说,我很幸运:我的爱好就是我的职业。当然,也有一些我真心不喜欢的例行工作,比如给窗户建模或者摆弄植被。但即便是这些,在零散的模块和贴图拼合成一幅完整画面的时候,也会退到背景里去。

当你把最初的灰色白模和最终成果放在一起对比,意识到中间完成了多么庞大的工作量时,你会生出那种感觉:“对,这正是我脑海中所设想的”。当然,得到社区和行业同行的支持,也是一种别样的享受。

至于给初学者的建议和有用的教程,在我多年的工作中我明白了一件事:最好针对具体的需求去寻找信息。网上有海量资料,我觉得给出随机的清单没什么意义。此外,如果你对模块化建筑、虚幻引擎中的材质,或者在 Substance 3D 中的工作等有疑问,别客气,直接在社交媒体上私信我。只要是我懂的话题,我很乐意分享必要的信息。

但如果非要挑出一个所有人都应该学习的根本基础:

  • Johannes Itten,《色彩的元素》(Elements of Color):理解色彩理论的绝对经典。
  • 80 Level 和 Polycount:毫不夸张地说,这些资源塑造了作为专业人士的我。多读拆解文章和文章。它们蕴含着宝贵的实践经验。
  • YouTube:几乎任何问题都能在那里找到答案。但我想特别提一下 51Daedalus(Lighting Academy)频道。有些人可能会觉得这些信息过时了,但这才是真正的基础。他们教的不只是“艺术化灯光”,而是虚幻引擎中光的物理原理。什么对引擎来说开销大,什么不大。
  • 社区与反馈:不要闭门造车。分享你的作品,加入艺术社区,主动寻求批评。记住,反馈不是对你天赋的判决,而是通往进步的捷径。学会不把批评当成针对个人,而是把它当作成长的资源,这是你职业发展中至关重要的技能。

而我最重要的一条建议是:多玩游戏。选择你想开发的类型中的项目,并仔细分析它们:开发者是如何摆放道具的?画面构图是如何运作的?灯光是如何布置的,剪影的辨识度如何?你的视觉素材库就是你最好的老师。

游戏开发是一项团队运动。尽管“废弃达恰”场景是我个人搭建并打光的,但如果没有我那些才华横溢的同事提供的道具和装饰元素,它不会如此生动。衷心感谢 CM Games 的美术团队!

Stanislav Petrushin,高级环境艺术家

采访由 Amber Rutherford 进行

相关链接

原文链接:https://80.lv/articles/how-to-create-a-nostalgic-and-abandoned-environment-for-vr-survival-shooter

喜欢这篇内容吗?