《龙之庭院》场景制作:ZBrush 雕刻、Maya 程序化贴图与 Houdini 水雾

简介
我叫 Rebecca Ma,我的 3D 艺术之旅始于从 UCLA 毕业之后,当时我获得了机械工程和电影学位。虽然我主修的是 STEM 领域,但我一直热爱艺术,内心深处知道自己想追求更具创造性的职业。我尤其喜欢工程中的 3D 建模部分,在探索不同职业道路时,我偶然接触到了视效和 CG 艺术。它完美融合了我的技术背景和创作兴趣。
2025 年 10 月,我报读了 Think Tank Training Centre 的 CG 资产创作课程,专攻电影环境与道具。从那时起,我学到了很多关于不同工作流程和软件的知识,同时通过导师和同学结识了一个非常棒的 3D 艺术家社群。
我的工程和 CAD 背景为我的 3D 打下了坚实基础,我发现硬表面建模以及像 Houdini 中那样的程序化、基于节点的工作流程对我来说更自然。与此同时,学习电影让我接触到了灯光和摄影,帮助塑造了我对构图和视觉叙事的眼光。
这些经历共同塑造了我对 CG 艺术的处理方式,使我能够将技术性问题解决与创作视觉上引人入胜的环境的热情结合起来。
开启《龙之花园》项目
在我的 Think Tank 课程的高级阶段,我们的任务是在 16 周内选择一张概念艺术图,并将其重新制作为 3D 环境。当我看到 Dao Vi 的作品时,我立刻爱上了它,并且知道自己想尝试把它变为现实。我之前也从未制作过户外景观,这似乎是一个挑战自我、拓展技能组合的绝佳机会。
除了其美丽的色彩和构图之外,这张概念图还让我得以探索对我而言全新的环境艺术领域,包括雕刻龙与岩石构造、创建并散布植被、生成地形,以及模拟水体与大气雾。
雕刻
由于Maya是我最熟悉的软件,我选择它作为我的主要场景搭建工具。我首先将概念艺术导入我的渲染相机,并使用像盒子和球体这样的基本几何体创建一个简单的粗模。我还从Maya的内容浏览器中引入了一个人体模型,以在整个环境中建立比例感。

我在 ZBrush 中雕刻了这些龙,并以 Dao Vi 页面上的参考图为指导。由于此前对 ZBrush 的经验有限,我起初在熟悉其界面和工具时颇费了一番功夫。
我发现的一个特别有用的功能是 Alpha 菜单中的 Make 3D 工具,它通过挤出将 2D alpha 转换为 3D 形体。这些龙的身体和头部布满了复杂的图案,因此这个工具让我可以先在 Photoshop 中设计这些细节,再将其转化为几何体,而不必去琢磨如何直接在 3D 网格上切出这些图案。




对于山体和其他地形,我将最初的白模导入 Gaea,利用其侵蚀工具快速生成了更自然的地形。随后我将其导入 ZBrush,在那里调整地形特征以更好地贴合概念设计,并锐化了某些地形结构。
较小的岩石则直接在 ZBrush 中雕刻,使用 Clay Buildup、Dam Standard、Flatten 等笔刷来细化它们的形状与表面。


我按照 Think Tank 的课程教程在 SpeedTree 中创建了树木,逐步添加树枝和树叶,直到它们的形状和轮廓与概念图相匹配。在将树木导出到 Maya 之前,我还加入了细微的风动画。


对于草和花,我从 Quixel Megascans 等在线资源库中获取了现有的网格体和纹理。我将地形导入 Houdini,绘制遮罩来控制植被的摆放位置,并使用 Scatter 和 Align 节点生成散布点。
我对缩放、旋转和对象 ID 等属性进行了随机化,从而在植被网格体的分布和选择上引入变化。我还为草和花分别创建了独立的散布设置,让我能更好地控制它们的位置和密度。
对于花,我尽量将它们组织成更集中的斑块或簇状,以模拟自然的生长模式。散布点生成后,我通过 Houdini 数字资产(HDA)将它们导回 Maya。

我参考了 Guy’s Dojo 的 Houdini to Maya Particle Instancers and Attributes 来搭建这套 HDA 工作流,并调整该技术以满足我场景的需求。回想起来,完全在 Houdini 中组装场景可能更高效,因为在 Houdini 和 Maya 之间传递散布点给我的工作流增加了额外的复杂性。
在散布之前,我将植被几何体转换为 V-Ray 代理,以使 Maya 视口更易于管理。然后我使用 Maya 的 nParticle Instancer 将草和花的网格分布到地形上。我采用类似的工作流在河床中散布岩石。
UV 展开
我几乎所有的资产都是使用程序化纹理进行贴图的,完全没有用到 UV。我的导师推荐了这种方法,这样可以避免在努力保留 ZBrush 雕刻复杂细节的同时花费过多时间重新拓扑(remesh),同时也省去了为地形和龙等复杂网格展开 UV 的耗时过程。
因此,我的重拓扑流程主要集中在减少多边形数量上,使这些资产在 Maya 中便于管理,同时不会让场景过载。我主要使用 ZBrush 的 Decimation Master 来快速优化我的雕刻,并尽可能保留更多细节。由于这些资产在最终场景中将保持静止,因此生成的三角化拓扑对我的项目来说已经足够。
纹理制作
我在 Maya 和 V-Ray 中使用了程序化纹理工作流程,通过程序化遮罩对多个材质进行分层和混合。我使用三平面投影来应用纹理,这使我无需依赖 UV 就能为网格制作纹理。
对于龙,我组合了四种主要材质:腐蚀金属、铜色岩石、锈迹和苔藓。我使用腐蚀金属作为基础层,然后在其上叠加铜色岩石,以打破金属表面,并使其更像风化的石像。我通过组合两个不同比例的 V-Ray Bercon Noise 节点,为岩石材质创建了一个遮罩,从而在整个表面引入变化。
接下来,我在现有材质上叠加了锈迹。由于我希望锈迹在靠近河流的区域更明显,我使用了 V-Ray Dirt 节点在这些区域周围生成污垢遮罩,并结合额外的 Bercon Noise 层来打破分布。
对于苔藓,我使用了 V-Ray Falloff 节点生成朝上的遮罩,然后通过程序化噪波引入进一步的变化。我还结合了 V-Ray Dirt 节点,以强调网格缝隙中的环境光遮蔽。
最后,我应用了另一层粗糙度降低的锈迹,在龙与河流交界的边界处营造出更湿润、更有光泽的外观,并使用 V-Ray Dirt 遮罩来控制其位置。我对其他资产(包括岩石和地形)应用了类似的分层纹理方法,使用苔藓、地衣和污垢的组合来引入变化,并在与河流接触的区域周围添加了湿润遮罩。
在单个材质中,我使用重映射节点来微调纹理贴图的值,以达到预期效果。

置换在我的纹理制作流程中发挥了重要作用,尤其是对于河流而言。我将两个具有不同缩放和高度值的 V-Ray Water Surface 纹理组合起来,以创建富有变化的表面破碎效果。我使用 V-Ray Blend Colors 节点将它们混合,并由噪波遮罩驱动,从而生成不规则的斑块变化。
为了将置换的破碎效果集中在河岸附近,我最初尝试使用 V-Ray Dirt 节点生成遮挡遮罩。然而,我发现在这种设置下,V-Ray 会先计算置换,再计算 Dirt 节点,导致遮罩无法按预期影响置换。
因此我改用了一只手绘遮罩来控制置换出现的位置,这让我能够更直接地控制较平静的中央水域与靠近岸边时更具变化的水面之间的过渡。

场景组装
我在 Maya 中组装了最终环境,将较重的几何体和效果分离到单独的场景中,再将这些场景引用到主布局里。其中包括植被和河床岩石散布、瀑布以及大气雾。
动画元素
我在 Houdini 中使用 FLIP 工作流制作了水体和白水(whitewater)模拟。由于我当时对 Houdini 模拟还比较陌生,我参考了各种在线教程来熟悉整个流程。
我将龙头模型导入 Houdini,并把它们用作碰撞几何体来引导瀑布模拟。这也帮助我定位并塑造初始流体源,以确保瀑布从正确的高度起始。随后,我让流体源和 FLIP 容器通过 FLIP Solver 进行解算,并将龙头作为静态碰撞几何体。
模拟完成后,我将生成的粒子通过 Fluid Compress 节点和 Particle Fluid Surface 节点,把它们转换为多边形几何体。

我采用类似的工作流程,使用 Houdini 的 Whitewater Source 和 Whitewater Solver 节点,从瀑布模拟中生成白水。导出前,我将白水粒子转换为多边形,使其在 Maya 中可作为几何体渲染。两个模拟完成后,我将水体和白水导出为 Alembic 缓存,以便集成到 Maya 中。
我还在 Houdini 中创建了大气雾效,使用 Cloud Shape Generate 节点在场景中构建出分明的雾团。我将这些雾团转换为雾 VDB,然后使用 Cloud Noise、Billowy Noise 和 Wispy Noise 添加更多细节和变化。我将生成的体积导出为 VDB 文件,并通过 V-Ray 的 Volume Grid 节点导入 Maya 进行渲染。

对于鱼,我创建了简单的网格,将它们约束到一条曲线上,并在不同帧上为它们的位置设置关键帧,以在整个场景中创造运动。鸟是从在线素材库中获取的,并合成到最终场景中。
灯光
我的主要灯光设置由 V-Ray Sun and Sky 系统组成。我辅以矩形灯光来选择性地照亮草地区域,并用几个球形灯在龙身上引入微妙的蓝色高光和反射。我还启用了焦散,并使用 V-Ray Aerial Perspective 来引入大气雾霭并增强环境的纵深感。
为了简化渲染和合成,我将场景组织为地形、河流与水面以及雾的独立渲染层。我渲染了多通道 EXR 和深度 EXR 通道,以及额外的通道,如 cryptomattes、light selects 和 depth,以便在合成时拥有更大的灵活性。
在 Nuke 中,我使用 Shuffle 节点分离各个灯光,使我能够独立调色后再将它们重新组合成最终图像。遵循导师的建议,使用电影参考来指导我的灯光和调色,我从 ShotDeck 获取了几张符合我想要实现的情绪和氛围的镜头。
在对渲染进行调色时,我调整视口顶部的增益、伽马和饱和度滑块,以进行比较并使我的渲染更接近这些参考。我还使用 cryptomatte 通道来独立分离和调色各个对象。最后,我使用深度合成工作流将渲染层合并为最终图像。


为了将鸟群融入场景,我把它们投射到一张卡片上,以便在场景中定位。通过调整卡片的位置,我得以把鸟群放在龙的后方、山脉的前方。我还在 Photoshop 中绘制了一张天空遮罩绘景,并将其投射到一个球体上,从而在摄像机移动时产生真实的视差效果。

我在 Nuke 中制作了上帝光效果,方法是将 Radial 节点与 Noise 节点结合,以打破椭圆形状并引入变化。我把该效果放置在画面的右上角,并将其连接到 God Rays 节点,同时使用 Roto 节点遮罩掉不需要该效果的区域。

最后,我应用了整体色彩校正,并添加了细微的镜头效果,包括色差、胶片颗粒、辉光、暗角和散焦,使最终图像更加统一。
结论
制作过程中最大的挑战之一是在 Maya 中整合所有资产,尤其是植被散布。回想起来,在 Houdini 中组装场景可能会更容易,或者我可以尝试在 Maya 原生创建某些资产和工作流程,以简化管线。
为河流制作动画是另一个挑战。除了 V-Ray Water 纹理之外,我还想为水面上的泡沫制作动画,但要获得令人信服、逼真的结果却很困难。我在为草和花朵制作动画时也遇到了困难。
由于我使用了 Houdini 的 Scatter 和 Align 节点,让植被沿地形表面法线定向,因此弄清楚如何为旋转和定向属性制作动画颇具挑战性。我最终尝试用 Vellum 模拟单个植被网格,而不是散布点,但产生的运动过于细微,在最终镜头中无法清晰辨认。

我最大的建议是持续努力并保持好奇心。一年前,我刚开始在Think Tank学习,当时完全没有使用行业标准软件的经验。我为自己取得的进步感到自豪,但我也知道还有很多东西要学,在3D艺术的许多领域我仍然认为自己是个初学者。
我还鼓励艺术家们去尝试,走出自己的舒适区。学习不熟悉的软件或着手一个大项目可能会让人不知所措,但把任务分解成更小、更可控的步骤,会让整个过程变得不那么令人生畏。
我最后的建议是不要对自己太苛刻。进步需要时间,沿途照顾好自己的心理健康也很重要。在过去一年里,我逐渐认识到离开电脑、给自己时间恢复的重要性,我发现与朋友和家人重新联系总能帮助我焕然一新、充满动力地回到项目中!
Rebecca Ma,3D 环境艺术家
由 Kseniya Serebrennikova 进行采访
相关链接
原文链接:https://80.lv/articles/making-an-atmospheric-garden-of-dragons-scene-with-procedural-texturing
喜欢这篇内容吗?