用 Blender 与 ZBrush 制作废墟塔楼场景:从 blockout 到灯光与风效的完整流程

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

简介

大家好,我是 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 材质,并制作一些植被,所以那张概念图非常契合。此外,它的灯光和构图非常出色,我也很喜欢它带有的奇幻氛围。

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

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

构图

blockout 中的所有资产都以我当时能采用的最快方式完成,要么从资产包、Quixel 导入,要么使用 SpeedTree 或 Gaea 的模板资产。我在 Blender 里用 lattice 粗略塑造了一些资产,但也就仅此而已。对大多数资产和整个场景来说,工作流是这样的:
 构图 > 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 里组装它。

我知道自己需要某种方式来打破塔楼上的 tiling,并让常春藤更有深度。所以在资产中用顶点色混合材质,效果就非常好。

岩石是从 ZBrush 导出的减面模型。它们的诀窍就在于材质混合的方式。它们使用了 triplanar 岩石材质、RVT 混合,而苔藓材质则通过 distance field AO 和绿色顶点色进行混合。

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

对于散布,我使用了 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 导出节点把网格导出。接着进入 ZBrush,应用几次 clay polish,我们是想稍微去掉一些高频噪点,让它看起来更锐利一些。把它导出为高模,减面做成低模,从顶部投射 UV,烘焙,然后我们只需要为它做一个简单的材质就可以了。

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

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

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

云是使用 Photoshop 中的一些照片拼接(photobashing)和遮罩绘画(matte painting)制作的。它们被拆分为颜色和 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 创建可平铺贴图。风格上有点受到《渡神纪:芬尼斯崛起》的启发。我还运用了一些在手绘贴图中学习到的东西,并尝试在基础色中加入一点光照信息,因为我觉得这样看起来更好看。

在所有材质的高度图中,我都遵循了图案、雕刻、细节的方法。所有材质也都以我创建的一个笔触生成器开始,以便有一个更有趣的起始颜色可供处理。然后我使用变化遮罩将笔触扭曲到图案上,使它们与我的贴图形状相匹配。

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

那个富有绘画感的图案由一个颜色生成器处理。我制作这个生成器,是为了加快给这些纹理上色的过程,同时也是为了统一它们的外观。在生成器中,我将主色与图案、AO、空腔(cavity)、污渍、自上而下的光照、阴影(由法线生成)以及高光混合在一起。所有纹理都具备这些特征,只是颜色和混合量有所不同。

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

组装最终场景

最终资产在虚幻引擎中组装。我为塔创建了一个关卡实例,周围的东西是手动摆放的。我用蓝图制作了一些预制件,因此放置更多重复性物品会稍微快一些。植被(藤蔓除外)使用虚幻的植被系统或 PCG 放置(背景森林就是这种情况),草则使用虚幻的景观草地。

灯光与风的设置

我的灯光设置包括一个定向光、指数高度雾(Exponential Height Fog)、天空大气(Sky Atmosphere)和一个天光(Skylight)。定向光使用了一个平移的云层光照遮罩,这样周围就能产生那些漂亮的阴影。我还把光照遮罩从远景背景中排除了,因为我觉得这个图案在远处太刺眼,所以那里的光照是平坦的,这是通过在着色器中用距离混合遮罩实现的。我还在一些想要增加趣味的位置放置了其他一些光点,不过灯光部分就是这些了。

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

喜欢这篇内容吗?