全部模型资源
  • 全部模型资源
  • - 交通工具
  • - 动物昆虫
  • - 场景\道具模型
  • - 建筑模型
  • - 植物模型
  • - 武器模型
  • - 独家资源库
  • - 科幻模型
  • - 角色动画库
  • - 角色模型
  • 游戏开发知识博客

Zil 131 苏联卡车硬表面建模全流程解析

Zil 131 苏联卡车改装海运集装箱最终渲染,沙漠环境下的硬表面车辆模型

最终渲染:苏联 Zil 131 军用卡车与海运集装箱的组合,全车采用高密度硬表面建模

引言

大家好,我是 Gleb,一名来自俄罗斯圣彼得堡的硬表面(Hard Surface)3D 艺术家。

2021 年,我进入了游戏开发领域,并意识到自己想做一名 3D 艺术家,于是开始学习所需的软件。在那之前,我做过一段时间的设计工程师,对 CAD 软件中的 3D 已经很熟悉。

目标

这个作品的主要目标是做出一些复杂而精细的东西:提升细分曲面建模(subdiv modeling)的技能、练习贴图制作,并把学到的知识用起来。

Zil Nomad 卡车侧后方细节渲染,集装箱与车身锈蚀质感
Zil Nomad 卡车正面渲染,车灯与保险杠细节
Zil Nomad 卡车侧视图渲染,展示集装箱与车头比例
Zil Nomad 卡车局部特写,轮毂与底盘细节

灵感

我一直很喜欢苏联的车辆。卡车和越野车本身就有独特的造型与气质,所以我几乎不用犹豫——「Zil 131」就是最合适的选择。

难点在于 ArtStation 上已经有不少同类作品。这辆卡车很有名、也有自己的历史,所以我必须做出点独特的东西。概念方案改了很多次。

最后我决定,与其用标准的封闭车厢或普通车身,不如配上一个海运集装箱,效果会很好。关键是颜色不能选错。

一大优势是可以找到大量参考图、蓝图和图纸。此外,Serge Andreyev 和 François Larrieu 的作品也给了我很多灵感。

Zil Nomad 卡车渲染,车身磨损与锈迹纹理细节
Zil Nomad 卡车后视渲染,集装箱门与踏板细节
Zil Nomad 卡车侧前方渲染,展示沙漠涂装
Zil Nomad 卡车俯视角渲染,车顶与集装箱顶部细节

工具

  • Blender —— 高模、低模制作与雕刻
  • Marmoset Toolbag 5 —— 法线贴图烘焙与渲染
  • Quixel Megascans —— 道具、参考素材
  • Substance 3D Painter —— 其他贴图烘焙、AO 贴图处理与贴图制作

参考

选择参考资料是工作中很重要的一环。就我而言,因为一开始并不确定最终会做成什么,所以参考只围绕卡车本身。

随着工作的推进,参考资料的数量也大幅增加。

找参考时我用了 Yandex、YouTube 上的卡车评测视频,以及 Avito(俄罗斯本地的 eBay 类似物)。

Zil 131 卡车参考图集合,包括实拍照片与蓝图

参考资料:实拍照片、蓝图与三视图,为建模提供比例与细节依据。

非破坏性建模

我一上来就直接做高模。网格本身很简单,但修改器(modifier)提供了所需的细节等级。通常会用两个倒角(bevel)——一个按角度、一个按权重——最后再加细分。

而在驾驶室这种网格形状更复杂的情况下,我用了这样的组合:细分 → 实体化(solidify)→ 按角度倒角 → 细分。

修改器一直保留到最后都不应用。这个方法很省时间,而且只要移除修改器,就能直接得到低模的基础。

实际上,不算道具的话,低模版本有 18 万三角面。

雕刻

这个项目里的雕刻任务,用 Blender 就完全足够了。

高模就绪后就可以开始雕刻。在那之前,先复制一份高模,保留带修改器的原始网格。我在高模上应用了全部修改器,然后加上多分辨率(multiresolution)修改器。

我使用了 Blender 自带的标准笔刷,配合我找到的一些 alpha 贴图。

UV

我主要的 UV 工具是 UV Toolkit、Texel Density 和 UV Packmaster,这些都是 Blender 插件。

  • Texel Density —— 名字已经说明了一切
  • UV Toolkit —— 非常顺手,可以拉直 UV 岛、按重叠方式摆放、快速铺棋盘格检查
  • UV Packmaster —— 我打包 UV 一直用这个工具。这个项目里我用了 UDIM 工作流,下面的截图会更直观
Zil Nomad 项目 UDIM UV 布局方案图

UV 方案:使用 UDIM 工作流,按物体重要性与可见度分配纹理密度。

纹理密度

因为这是个人作品集项目,我决定偏离车辆常用的 texel 标准,把密度提高到约两倍。所以整个项目用 UDIM 打包。

每个物体的 texel 也各不相同,原则是看物体在画面中的重要性、可见性,以及它相对大物体的尺寸。

下面这张图能更好地说明纹理密度的分配思路。

Zil Nomad 纹理密度分布示意图,展示不同物体的 texel 差异

纹理密度分布方案,核心物体获得约两倍于常规车辆的 texel。

Zil Nomad 纹理密度分布示意图之二

烘焙法线贴图

法线贴图烘焙我选了 Marmoset Toolbag。在它里面烘焙简单直观、可控性强,而且很多问题当场就能修掉。

从 Marmoset 第 5 版开始,它支持 UDIM 工作了。

烘焙时最重要的是命名。这不是工作里最愉快的部分,尤其是在网格数量巨大的复杂项目中。

不过绝大多数烘焙问题,其实都源于命名错误或 UV 问题。

烘焙环境光遮蔽(AO)贴图

我是在 Substance Painter 里用这些设置烘焙环境光遮蔽(Ambient Occlusion)的。「Ground plane」可有可无。

这个项目里我把 AO 图独立于贴图集单独烘焙,这样过渡平滑、逻辑清晰,不会出现发黑的现象。然后我把所有 AO 图导出,放到完整项目的底色层(Base Color layer)里。

这样就能直接在 Substance Painter 里轻松地处理环境光遮蔽。我在该有阴影的地方补了一些假凹陷,带一点简单的着色。

我用了一个空的填充层(Fill Layer),配合 Passthrough 混合模式下的模糊方向(Blur Directional)滤镜,来修复 AO 图上的拉伸。

简单的绘图层(Paint Layer)也有帮助,可以用它盖住烘焙不佳的 AO 接缝。再加上平滑的渐变——这些都放在底色层里。

经过这些处理后,我直接把底色(Albedo)图导出,粘贴到贴图项目里作为环境光遮蔽图。

这就是所有处理完成后的 AO 图效果:

Substance Painter 中烘焙环境光遮蔽 AO 贴图的参数设置

AO 烘焙设置:在 Substance Painter 中独立烘焙 AO,确保过渡平滑不生硬。

Zil Nomad 处理完成后的 AO 贴图效果

处理后的 AO 图:用模糊方向滤镜与填充层修复拉伸,再作为底色层使用。

贴图制作

贴图是我最喜欢的环节。开始贴图前,我会先设置好 Painter 的视口。我参考的是 Jason Ord 的这篇设置教程视频,很推荐。

我从最大的区域开始,最后处理最小的。

我的贴图流程就是色彩变化、粗糙度、污垢灰尘与 alpha 贴花的组合。

  • 首先是一个”锐化层”,其实就是带 Sharpen 滤镜的 Passthrough 图层。缺点是你得小心,它很快会让材质看起来噪点很多。
  • 最上面是曲率(Curvature)叠加层,本质就是把烘焙出来的曲率以彩色叠加显示。这个效果会让边缘更亮、其他部分更暗。我发现它能让贴图对比更强、看起来更舒服。

我还用了锚点(anchor points),非常强大,可以让你从某个蒙版中提取信息,并在此基础上继续处理。

下面是几个带锚点的智能材质示例:

Substance Painter 中带锚点引用的智能材质节点图

使用锚点引用(anchor points)从蒙版提取信息进行纹理处理的示例。

Zil Nomad 卡车车身材质纹理制作截图
Zil Nomad 纹理制作细节,锈迹与污渍图层
Zil Nomad 纹理制作,脏旧材质叠加效果
Zil Nomad 纹理制作完成效果,油漆磨损与锈蚀

日晒损坏材质的搭建,以及 Marmoset 的渲染设置(稍后会讲到),我是从 François Larrieu 的访谈里学来的。他的作品非常棒。

我想说的是,3D 艺术家的访谈里藏着大量有用的信息。

我在 Substance 里最常用的 grunge 脏迹贴图组合是「Grunge Pebbles Dirt」、「Dirt 4」和「Humidity」。

它们能搭配出很多变化,但在这个项目里,我主要把它们用于整车污垢变化,并与曲率、遮蔽和位置(Position)生成器组合使用。

然后我会手动清除多余的部分。有些地方也用了泥点的 alpha。

细节非常重要。

如果你拿不准某种材质、或者参考不够、不知道该怎么呈现它,那就继续找参考,直到你确定为止。

车灯的制作我参考了 3D 艺术家 Konast 的教程,非常实用。

道具

这部分我决定省点时间,道具直接来自 Quixel Megascans。

但我对其中一些做了小幅修改,让叙事更合理。

比如从 Quixel 下载的链条,我调整得贴合我的曲线;还有一把铁锹,我给它重新贴了一点纹理。

Zil Nomad 项目道具展示,链条与铁锹等 Quixel 资产

道具:来自 Quixel Megascans 并微调,如适应曲线的链条与重新贴图的铁锹。

渲染

我以前都用 Unreal Engine 渲染。这个项目我决定试试 Marmoset Toolbag 5

主要的渲染知识来自 François Larrieu 的访谈。我应用到作品里的基础设置如下:

  • 更换 HDRI(Studio Cross 或其他影棚 HDRI),并设置纯色背景,通常是深黑色。
  • 相机我只用正交视图或 7mm 透视。色调映射(tone mapping)改为 ACES,锐化设为 1。

你还必须开启安全框(Safe Frame),它会显示所选分辨率,让你看到渲染成片的效果。

最后当然要开启光线追踪(ray tracing)。把视口采样稍微调高一点,画面会更漂亮。

我不是个优秀的灯光师,那不是我的强项,所以这里也没必要把事情搞复杂。

灯光方案非常简单:

  • 首先用两个 HDRI 光源,一个在场景左侧、一个在右侧,这样渲染时两边都能被照亮。
  • 然后通常再加 1~2 个聚光灯照亮场景前后,最后用小范围泛光灯(omniphone)点亮前后车灯。
Marmoset Toolbag 5 渲染设置面板,包含 ACES 色调映射

渲染设置:ACES 色调映射、7mm 透视相机、安全框与光线追踪。

Zil Nomad 渲染场景灯光布置,双 HDRI 与聚光灯组合

灯光方案:左右两侧 HDRI 光源加前后聚光灯,点亮车头车尾细节。

结语

这个项目对我来说是一次很好的机会,练习了建模和贴图技能,也希望这篇文章对大家有用。

感谢观看,祝好运!

评论留言