《The Alters: Last Variable》的地化植被管线:不透明 Nanite cutout 与全局 HISM 实践

介绍
大家好!我叫 Artem Ostapchuk,是 11 bit studios 的高级 3D 环境美术师。你可能看过我此前在 80 Level 上发布的关于日本神社个人项目的解析。今天,我回来分享《The Alters: Last Variable》DLC 环境工作的幕后,重点介绍在真实制作限制下用茂密植被填充关卡的工作流程。
本体游戏 vs. DLC
在《The Alters》本体游戏中,我负责为多个章节搭建环境管线,创建网格体、材质和内部工具——从异常扭曲的峡谷,到只有用专用手电筒才能看见的跨维度植被脉络。主游戏的世界以严酷、荒芜的荒凉感为特征,玩家要争分夺秒地在灼烤行星的太阳下生存。
在 Last Variable DLC 中,故事扩展到地球化改造。环境必须能在其原本的荒芜状态和新近植被蔓生、完成地球化改造的版本之间无缝运作。我的主要重点是整合地球化改造管线——制作植被套组、景观层、主材质、一些辅助工具,并为各个关卡中的多个区域进行布置。
设计植物群:加速生长
我们希望植被有异星感,又不落入俗套的科幻套路,也不像日常的地球植物。我们的叙事概念很简单:石化的树木和死寂的异星土壤被强大的星球改造液体击中,引发爆发式、非自然的生长。这给了我们独特的视觉语言:基于厚重的苔藓堆积、大量枝干结构,以及像珊瑚一样的植被蔓延在岩石和树木上。

参考素材与“美景角”
以 Robert Rejmak 的初始概念为基础,我们收集了参考素材,并搭建了一个专门的“美景角”——一个小型测试场景,用来测试资产、着色器和地形混合。寻找参考素材很容易,我们这颗星球上的奇特植物多得令人难以置信,这已经足以提供灵感,让我们的外星植物群拥有可信的现实根基。
从基础游戏到 DLC,我们的核心软件栈基本保持不变:使用 Blender 和 ZBrush 进行建模与有机形态雕刻,使用 Substance 3D Designer 和 Painter 进行贴图制作。
对于所有植被,我们完全依赖不透明的 Nanite 网格。这意味着不使用透明度——每一片小叶子和小草叶都是实实在在的镂空几何体。在我们的基准测试中,这种做法比使用传统的遮罩着色器性能好得多,因此我们采用了这一方案。部分资产还具备由顶点颜色通道驱动的细微世界位置偏移(WPO)风吹动画——这项技术我在之前的一篇 80 Level 解析中做了更详细的介绍。

作为一个由三名环境美术组成的团队(成员包括 Patrycja Kusińska 和 Krzysztof Knysak),我们各自负责不同的区域,因此会根据具体任务使用 SpeedTree 或 Houdini 等额外工具。我也喜欢使用基于样条线和权重的方法,在 Blender 的几何节点中生成网格;这是一种快速、对美术友好的植被资产创建方式。
至于地形,和原版游戏一样,我们使用的是 VHM/RVT,而不是 Nanite 地形。

我们并没有固定的网格制作排期。由于只有少量概念图,而且关卡设计不断变化,我们只能边做边搭建植被套件,并测试哪些方案可行、哪些不可行。我们早期制作的 beauty corner 让我们清楚地看到了目标方向,因此每当空间发生变化时,我们只需补充所需的新部件,让它们成立。
面向规模的设计与自定义引擎内工具
由于我们没有使用直接接入 Unreal 的 Houdini Engine/Live Link 桥接,而是完全依赖引擎内工具来散布植被并填充关卡。我制作了几个对此帮助很大的工具:PCG 网格散布、几何脚本苔藓生成,以及基于 Trace 的散布。这帮助我们在短时间内交付了一个植被蔓生的大世界。我们还大量使用了关卡实例——复用已经创建好的内容。

技术优化与全局 HISM 管理
在很短的生产周期内生成这种密度的植被只是成功的一半;确保它以流畅帧率运行同样关键。
特别感谢我们的技术和引擎部门,尤其是 Radosław Choma 和 Bartek Lipiński。场景中有如此多的蓝图预制体和 Packed Level Actors,最终我们得到了大量分散在不同 Actor 上的独立 HISM(Hierarchical Static Meshes,分层静态网格体)组件。虽然这样能工作,但从性能角度看,这绝对不是最优的设置。
为了解决这个问题,他们开发了一套系统,将实例按网格类型整合为整个关卡中的单一全局 HISM,并处理 Packed Level Actors。这确保了所有内容都能流畅运行。
一个提示:如果 Actor 带有碰撞,不要用非均匀缩放的 Actor 创建 Packed Level。
主要挑战
双状态关卡设计:我们最大的创意和技术难题是确保关卡在原始的荒芜/焦土状态,以及完全地形改造后、植被蔓生的状态下都能成立。每个远景、路径和隧道都必须在两种状态下保持可读性,同时不破坏玩家导航或视觉层级。
关卡密度:DLC 中有不少新机制,玩家可以在世界里放置更多建筑。因此,在有限空间内,我们必须确保为所有这些玩法留出足够空间,同时又不让环境显得过度拥挤。
我最享受的部分
我觉得最有趣的部分是最开始根据 Robert 的概念制作主景树(hero trees)的时候。当时我们还在搭建 beauty corner,所以重点完全放在把视觉想法做准,而不是制作完整的模块化套件。项目中的这类时刻总是很棒——你可以专注于有趣的形状和细节,而暂时不用太担心 UV 或多边形数量。

经验教训
围绕约束来规划:在批量制作资产之前,先了解你的引擎能处理什么、不能处理什么。从一开始就让资产和材质符合这些限制,等之后进入优化阶段时,会省去巨大的麻烦。
尽早投入引擎内工具与体验优化:如果能在不牺牲艺术控制的前提下自动化重复性任务,那么花时间构建工具总是值得的。简单的体验优化功能同样能带来回报。哪怕只是一个可脚本化的小工具,用来隐藏不必要的视口叠加层——每天为每位团队成员节省几分钟——也完全值得花 15 分钟去编写。
以适应性为设计前提(想想“如果?”):游戏开发过程中事情会不断变化——机制会被重做、关卡规模会调整、方向会转变。经常问自己“如果?”(有趣的是,这正是 The Alters 的核心主题)总是好主意,并让资产和着色器具备足够灵活性,这样当计划改变时就不必从头重做。
建议与实用资源
- 研究现实世界的自然:首先也是最重要的,查看现实世界参考。研究真实的珊瑚、真菌和奇特植物,会比常见的“发光科幻蘑菇”给你带来更有趣的形状、结构和纹理。当你的外星植物遵循真实生物逻辑时,它自然看起来扎实可信。
- 除了我在上一篇文章中提到的 SpeedTree 的 YouTube 频道 和 PrismaticaDev,我还想推荐 Procedural Minds。如果你想深入 UE5 的 PCG 工具,它无疑是市面上最实用的知识来源之一。
- 逆向研究市场资源包:除了 YouTube 教程,我很喜欢拿 Epic Games 官方资源包,或 Gumroad/Fab 上的包,看看里面能发现什么有趣的东西。你常常能发现巧妙的思路和完全不同的搭建方式。
Artem Ostapchuk,高级 3D 环境美术师
相关链接
原文链接:https://80.lv/articles/terraforming-the-alters-last-variable-with-blender-zbrush-ue5
喜欢这篇内容吗?