UE5 Nanite植被与PCG工具打造异星生态
Terraforming The Alters: Last Variable with Blender, ZBrush & UE5
11 bit studios资深3D环境美术师Artem Ostapchuk分享《The Alters: Last Variable》DLC的植被制作管线:全部采用不透明Nanite cutout几何体替代传统masked shader,结合PCG散射、几何脚本苔藓生成与全局HISM合并系统,在短周期内实现荒芜与绿化双状态关卡,并总结约束前置规划与引擎内工具化的经验。
深度解读
《The Alters: Last Variable》的植被管线揭示了一个反直觉的生产判断:在UE5里做高密度外星丛林,11 bit studios 放弃了传统的 masked shader 透明叶片方案,全面转向不透明 Nanite cutout 几何体,因为基准测试证明后者性能更好——这不是美术偏好,而是把"每片叶子都是真实几何"当作性能策略来用。
一个三人环境美术组,如何填满一整个星球
Artem Ostapchuk 是 11 bit studios 的资深 3D 环境美术,团队里做环境的一共只有三个人(另外两位是 Patrycja Kusińska 和 Krzysztof Knysak)。基础版《The Alters》的世界观是"荒芜、灼热、玩家在炙烤星球的阳光下抢时间生存",而 DLC 引入地球化改造(terraforming) 后,同一批关卡必须同时成立两种状态:原本的焦土形态,和被外星植被吞没的过度生长形态。这意味着每一处远景、每一条路径、每一条隧道,都要在两种视觉条件下保持可读性,不能破坏玩家的导航和视觉层级——这是他们自己列出的头号挑战。
最大的创意与技术难题,是让关卡在原始焦土态和完全地球化态下都成立。
叙事驱动的植物设计:化石树 + 地球化液体 = 爆炸式生长
他们的植物不能落入通用科幻套路,也不能看起来像地球常见植物。叙事概念很干脆:石化的树木和死寂的外星土壤被强效地球化液体击中,触发爆发性的、非自然的生长。由此推导出的视觉语言是:厚重的苔藓堆积、大量分枝结构、以及像珊瑚一样蔓延在岩石和树干上的植被。参考来源不是科幻设定集,而是地球上真实存在的怪异植物——Ostapchuk 的原话是"地球上奇怪的植物多到难以置信,这足以让外星植物显得可信"。
概念美术由 Robert Rejmak 提供最终地球化概念图,团队在此基础上搭建了一个专门的 "beauty corner"(美学角落) ——一个小型测试场景,用来验证资产、shader 和地形混合效果。这个测试场景在项目早期就建立,作用是给后续所有资产定调:当关卡设计反复变动时,他们只需要往里补新部件,而不用推翻重来。
技术栈:Blender + ZBrush 建模,Substance 双件套贴图,VHM/RVT 做地形
从基础版到 DLC,核心软件栈基本没变:Blender 和 ZBrush 负责建模与有机形体雕刻,Substance 3D Designer & Painter 负责贴图。植被资产全部使用不透明 Nanite 网格——没有透明通道,每一片小叶子和草叶都是真实的 cutout 几何体。部分资产还带有由顶点色通道驱动的、幅度细微的 World Position Offset (WPO) 风动动画。地形方面,和原作一样使用 VHM/RVT,而不是 Nanite landscape。
值得注意的是他们没有固定的资产制作排期:概念图只有几张,关卡设计持续变动,所以植被套件是"边做边测"地滚动搭建的。团队三人各自负责不同区域,按任务需要额外使用 SpeedTree 或 Houdini;Ostapchuk 本人偏好用 Blender 几何节点里基于样条和权重的散布方法来快速生成植被资产,因为对美术友好、迭代快。
没有 Houdini Engine 桥接,全靠自研引擎内工具
他们没有用 Houdini Engine / Live Link 直接桥接进 Unreal,而是完全依赖引擎内工具来散布和填充植被。Ostapchuk 自建了几个关键工具:PCG 网格散布、几何脚本苔藓生成、以及基于射线检测(trace-based)的散布。配合大量复用的 level instances,这套组合让他们在很短的制作窗口内交付了一个大规模过度生长的世界。
如果能自动化一个重复任务而不牺牲美术控制权,那投入时间做工具永远是值得的。
全局 HISM 合并:性能的真正胜负手
高密度植被只是战斗的一半,另一半是帧率。这里的关键角色是技术与引擎部门的 Radosław Choma 和 Bartek Lipiński。问题出在场景里塞满了 Blueprint 预制体和 Packed Level Actors,导致产生了大量分散在不同 actor 上的独立 HISM(Hierarchical Instanced Static Mesh) 组件——能用,但远非最优。他们开发的系统把实例按网格类型合并成全关卡唯一的全局 HISM,并统一处理 Packed Level Actors,才让一切跑得顺畅。Ostapchuk 顺带给了一条实战警告:不要用带碰撞、且缩放不均匀(non-uniform scale)的 actor 去制作 Packed Level。
密度与玩法的拉扯
DLC 新增了不少机制,玩家可以在世界里放置更多建筑。在有限空间里,他们必须为这些玩法留出足够空地,同时不让环境显得拥挤——这是纯粹的空间预算问题,也是"双状态关卡"之外的第二重约束。换句话说,植被不是越多越好,密度本身是被玩法反向定义的。
所以呢:这套管线对行业意味着什么
第一,Nanite cutout 替代 masked shader 做植被,正在从实验变成可复用的生产结论。传统上 masked 材质因为能靠 alpha 剔除省几何而被广泛用于叶片,但 Nanite 的几何吞吐能力改变了成本结构——当每片叶子都是实打实的三角形时,省掉的是 shader 复杂度、过度绘制和排序开销。Ostapchuk 明确说基准测试里这套方案"表现好得多",这是来自真实项目的性能数据点,不是理论推演。
第二,"双状态关卡"是地球化题材的通用技术债。任何做行星改造、季节变化、灾后重建题材的团队都会撞上同一堵墙:同一空间要在两种视觉条件下都成立。他们的解法是把美学角落前置、把资产做成可增量拼装的套件,而不是等关卡定型再开工——这是流程层面的答案,比任何单个工具都重要。
第三,小团队的上限由工具决定。三个人撑起一个 DLC 的植被密度,靠的不是加班,而是 PCG 散布、几何脚本苔藓、射线散布这三件自研工具,加上全局 HISM 合并这种引擎层优化。Ostapchuk 那句"哪怕只是隐藏视口多余叠加层、每人每天省几分钟的小脚本,也值得花 15 分钟去写",本质上是把质量生活工具(quality of life tooling) 当作生产力资产来核算——这对任何中小型团队都是可直接抄走的成本模型。
第四,"如果……会怎样"(What if?)作为资产设计原则。他半开玩笑地指出这正是《The Alters》的核心主题:机制会重做、关卡尺寸会变、方向会掉头,所以资产和 shader 从一开始就要留足弹性,避免计划变更时推倒重来。配合他第一条经验"先摸清引擎能吃下什么,再动手做资产",这两条合起来其实是一套完整的约束前置方法论:先定性能边界,再定资产规格,最后才谈美术表现。
