Blender + ZBrush 废墟塔楼环境全流程:建模、材质与 Unreal 场景搭建

AI3D 发表于 3 周前 浏览 2 分类 创作分享

介绍

大家好,我是 Rafael Arcari,一名来自巴西的自学环境美术师。我进入行业至今已将近 4 年。曾在 Big Moxi Games 参与《Wardens Rising》和《Reaper Actual》等项目。

Ruined Tower

Ruined Tower 项目最初是我朋友 Felipe Carvalho “Squiers” 的建议。我们讨论了项目可以做成什么样,并找到了一些有趣的风格方向,其中包括 Jasmin Habezai-Fekri 的 “Bird House” 项目,它在风格和呈现上给了我很大启发。在寻找概念图时,我看到了 Killian Prevost 的 “Tower 1” 项目。

我很清楚自己想做的是一个户外场景,更多地依赖可平铺材质(tileable materials),并制作一些植被,所以那张概念图对此非常合适。而且它的灯光和构图非常出色,我也很喜欢它带有的奇幻氛围。

到这一步,我只想先把场景放进引擎,并把基础构图跑起来。所以我很快迭代了一版构图和场景 blockout。然后继续收集一些参考,并用图片和链接进一步规划环境,以及我打算使用的技术。

How to Model and Texture an Environment of a Ruined Tower Using Blender and ZBrush

构图

blockout 中的所有资产,我都用当时能想到的最快方式制作,要么从资产包、Quixel 导入,要么使用 SpeedTree 或 Gaea 的模板资产。我在 Blender 里用 lattice 粗略塑造了一些资产,但也就仅此而已。大多数资产和场景的工作流大致如下:
 Composition > Blockout > Proxy > Refinement > Polishing

当我有了一个大致匹配概念图的 blockout 后,我会把场景从 Unreal Engine 导出到 Blender,在那里按照 blockout 的比例建模一个 proxy。这些 proxy 的意义在于,它们代表了我最终需要的所有模型,尽管其中一些看起来和最终版本完全不像。它们的作用更像是占住物体在场景中的位置。

同时,这也是发现诸如塔的造型等问题的好时机;不过此时还不是最终定稿,它能帮助我可视化场景的最终效果,所以我们正在一点点接近目标。

How to Model and Texture an Environment of a Ruined Tower Using Blender and ZBrush

为了建模这些资产,我主要使用了 Weighted Normals 和 Booleans。破损部分是用 Cell Fracture 和 Booleans 制作的。为了制作最终的碎块,我把它们模拟进一个方形盒子里,并烘焙变换以固定它们的位置,然后再调整形状。

塔的想法一直是一个拼装体。起初我在 Blender 中拼装它,因为我不确定它在场景里会是什么效果,而且这样可以随时修改模型。然后,到了最终版本,我在 Unreal Engine 中完成拼装。

我知道自己需要某种方式来打破塔身上的平铺重复,并为常春藤增加一点深度。所以用顶点色在资产中混合材质,效果就非常好。

岩石是从 ZBrush 减面(decimated)后的模型。它们的诀窍只在于材质混合的方式。它们使用了一个三平面岩石材质、RVT 混合,而苔藓材质则通过 distance field AO 和绿色顶点色进行混合。

至于草,我的朋友 Aldemir Schervinski 向我展示了这套工作流。你先在 Substance 3D Designer 中创建几片单独的草叶。然后在 SpeedTree 中使用那张草叶图集(atlas)烘焙出一张草图集,再把它们组装成草丛和单独的草资产,并在引擎中散布。

散布方面,我使用了 landscape grass。另外在 SpeedTree 中,我把它们建模为朝上,并使用 parent curl 来伪造草叶的“重力弯曲”。树木也是类似创建的。我先从一张基础叶片图集开始,然后在 SpeedTree 中创建细枝和枝条图集,再用那张图集创建树木。

How to Model and Texture an Environment of a Ruined Tower Using Blender and ZBrush

制作灌木的流程更简单。我在 Substance 3D Designer 中创建了一张叶簇纹理,然后在 Blender 中把它们作为粒子散布到一个球体上,接着调整球体形状,直到看起来符合我想要的效果。最后,你需要把球体的法线传递到灌木上,这样它们看起来才不会很怪。

How to Model and Texture an Environment of a Ruined Tower Using Blender and ZBrush

背景山脉最初是在 Gaea 中创建的,使用的是 Mountain 节点,并加入一些 Erosion、Denoise 和 Sharpen,然后通过 mesher export 节点导出网格。接着进入 ZBrush,应用几次 Clay Polish;我们想稍微去掉高频噪点,让它看起来更锐利。将其作为 high-poly 导出,减面得到 low-poly,从顶部投射 UV,烘焙,然后只需要给它一个简单材质即可。

How to Model and Texture an Environment of a Ruined Tower Using Blender and ZBrush

我使用了一些 position gradient 来压暗底部,并用一个更亮的渐变来模拟自上而下的光照,同时尝试模拟其他环境效果,比如侵蚀、悬崖、太阳方向和遮蔽。

How to Model and Texture an Environment of a Ruined Tower Using Blender and ZBrush

云朵是在 Photoshop 中通过 photobashing 和 matte painting 制作的。它们被拆分为 color 和 alpha,这对于在 Unreal Engine 中获得漂亮的淡出效果很重要。该技术基于 Tyler Smith 的课程。在 Unreal Engine 中,你可以使用 Depth Fade 来改善这些资产与背景元素的融合。

How to Model and Texture an Environment of a Ruined Tower Using Blender and ZBrush

重拓扑与贴图

我使用 Blender 完成重拓扑并展开所有 UV。在展开方面,其实没有太多内容。塔体基本上只用了 2 张平铺贴图:一张平铺的石砖贴图,以及一张用于门、窗、框架和其他资产的木材贴图。

我使用 Substance 3D Designer 创建可平铺贴图。风格上有点受到《渡神纪:芬尼斯崛起》的启发。我也用上了一些在手绘贴图中学习到的东西,并尝试在 base color 中加入一点光照信息,因为我觉得那样看起来更好。

在所有材质中,Height map 我都遵循 pattern、sculpt、detail 的流程。所有材质也都从我自己创建的 brushstroke generator 开始,以便有一个更有趣的起始颜色可供处理。然后我使用 variation mask 将笔触扭曲到图案上,使它们匹配贴图的形状。

How to Model and Texture an Environment of a Ruined Tower Using Blender and ZBrush

那种绘画感的图案由一个 color generator 处理。我创建这个生成器是为了加快这些贴图的上色流程,并统一它们的观感。在生成器中,我将一个主色与图案、AO、cavity、污渍、自上而下的光照、阴影(由 normal 生成)以及高光进行混合。所有贴图都包含这些特征,只是颜色和混合量不同。

How to Model and Texture an Environment of a Ruined Tower Using Blender and ZBrush

最终场景组装

最终资产在 Unreal Engine 中组装。我为塔创建了一个 level instance,周围的东西则是手动摆放的。我用蓝图制作了一些 prefab,这样摆放更多重复物件时会快一些。植被(藤蔓除外)使用 Unreal 的 foliage system 或 PCG 来放置(背景森林就是用的 PCG),而草则使用 Unreal 的 landscape grass。

灯光与风设置

我的灯光设置包括一盏定向光、指数高度雾、天空大气和一盏天光。定向光使用了一张平移的云层光照遮罩,这样周围就能有那些漂亮的阴影。我还把光照遮罩从远景背景中排除了,因为我觉得这种图案在远处太刺眼,所以那里的光照是平的,这是通过着色器中的距离混合遮罩实现的。我在一些地方还放了其他光源,以增加趣味,但灯光部分就是这些。

How to Model and Texture an Environment of a Ruined Tower Using Blender and ZBrush

关于风,我使用的是一个倒挂的顶点动画,你可以在 Ryan Dowling Soka 的博客中找到它。效果非常好,我一直都在用。我没有像他那样为它使用顶点颜色遮罩。我用的是离原点距离作为渐变遮罩,因为我觉得这样更容易控制,而且如果我想把顶点颜色用于其他用途,也可以把它空出来。我还使用了材质参数集合,这样我就能全局控制风力强度。

结语

这个项目花了我大约两周时间完成。主要挑战其实是学习如何加快我的 Substance 3D Designer 工作流程,因为我从一开始就知道这会成为我的一个瓶颈。此外,学习使用 SpeedTree 也是一个很好的挑战。我学到的是,良好的流程会给你很大的信心去可视化最终环境。另外,只要各个部分搭配得当,你也可以用一些非常简单的部件做出相当不错的环境,这实际上为你节省了大量时间。

较大的项目常常过早或过度地关注细节,所以最好是在场景中、在最终会被看到的角度上评估你的工作,以及它与场景其余部分的匹配程度,而不是把它与一切隔离开来单独评估。另外,如果有些东西行不通,你可以尽早发现并修正,从而尽量减少把大量时间花在无效内容上的挫败感。这就是为什么代理模型和良好的流程能帮助你在上下文中判断你的工作。我觉得这很棒。

Rafael Arcari,3D环境艺术家

采访者:Emma Collins

相关链接

原文链接:https://80.lv/articles/how-to-model-and-texture-an-environment-of-a-ruined-tower-using-blender-and-zbrush

喜欢这篇内容吗?