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

AK-74 写实武器制作:3ds Max、ZBrush 与 Substance 3D 工作流

引言

大家好!我是 Oriol。我今年 22 岁,是一名常驻巴塞罗那的 3D 美术,对游戏和电影抱有无限的热情!从 4 岁起我就知道自己想靠做游戏谋生,但当时并不清楚该从哪里起步。我的目标是学习编程,但在学了第二个月时,我意识到自己并不适合写代码。

18 岁时,我进入了一门 3D 职业培训课程,多亏了我的老师 Gerard,我才意识到 3D 正是我想为游戏/电影创作过程贡献力量的方向。在艺术学位的第一阶段,我有幸遇到了另一位老师 Marcos,他教会了我许多不同的工作流,并把我引入了 ArtStation。

当我第一次独自在家打开 ArtStation 时,一件作品改变了我的人生——那是 Thomas Butters 为《Rust》制作的 SKS。我无法理解竟然能用 3D 软件做出这样的作品。就在那一刻,我的质量标杆被拉高了;我想达到那个水准,自那以后,我开始更认真地对待自己的 3D 之路。

在这段学习旅程中,我遇到了许多出色的美术,他们帮助我塑造了工作的方式。其中对我影响最大的是 Juansa Torres,他既是我的 3D 建模老师,如今也是一位朋友,在我的 3D 艺术之路上给予了我大量的帮助与指引。

我失败过很多次,也做过成吨的模型。正是靠着重复练习、努力、投入,以及身边那些优秀美术的帮助,我才走到了今天的位置。目前,我正在 La Florida Universitària 攻读 3D 建模硕士学位,同时担任 Hunting Souls 的 3D 硬表面实习生。我已经迫不及待想看看职业生涯接下来会走向何方!

AK-74 项目最初是我硕士课程的一项作业。我本可以选择任何其他武器,但之所以决定做 AK-74,是因为它是我 3D 之路上建模的第一把武器——AKM——的继任型号。

AK-47、AKM 与 AK-74 有着太深厚的历史与文化意义,不容小觑。它也是一把至少包含三种不同材质、且各自磨损程度各异的武器,这让它在贴图方面变得相当有趣。

我这个项目的目标是,展现自己的武器美术功底,并把焦点放在那些让任何历史武器都值得玩味的小细节上。

AK-74 的参考收集

在搜集参考时,我注意到 AK 有许多不同的型号与不同的产地。此外,AK-74 约有一半的零件与 AKM 通用或兼容。各型号之间的主要区别在于口径从 7.62×39 mm 变成了 5.45×39 mm。

掌握这些信息后,我最终整理出了这块参考板,其中研究了我为 AK-74 与 AKM 兼容零件准备的不同版本、来自不同 AK 型号且磨损各异的多种枪托与护木,以及最后所有与 AK-74 相关、能帮助我理解武器运作原理、并据此正确建模的内外部零件:

AK-74 与 AKM 参考图拼贴板
Oriol 整理的 AK-74 与 AKM 零件参考板。

· · ·

通常我会收集一些不会放进最终 PureRef 的参考图,因为当参考板上图片太多时我会迷失方向。下面是包含更多 AK 各型号参考(约 1000 张)的文件夹结构,我经常会回过头去翻看:

本地参考文件夹结构截图
约 1000 张 AK 各型号参考图的分文件夹结构。

· · ·

寻找参考时,我总会优先找这几样东西:一段 YouTube 拆解视频、该武器的评测、包含我所建模武器的参考包(如果能包含多把你想做的武器就更好了)、拍卖网站,以及武器零件清单——无论是从某个随机论坛还是从武器制造商那里获取,方便之后检索。

建模(Modeling)

建模时我同时使用 3ds MaxBlender。两者都是出色的软件,同一套工作流可以经由不同路径实现。虽然这把武器我用的 3ds Max,但我会顺便说明这套工作流如何对应到 Blender。

谈到写实游戏时,几乎所有优秀的 3D 道具/武器都会先做高模(high-poly),再以低模(low-poly)作为将高模投影下来的手段。如果把重点放在让低模去适配高模,多数情况下反而会限制美术的创意发挥和武器的最终观感。我个人的工作流主要聚焦于:

  • 先做一个关注”型”而非布线的”中模(mid-poly)”。
  • 把中模导入 Zbrush,一直打磨到理想的样子。
  • 拿 ZBrush 抽面(decimate)后的高模,让之前的中模去适配高模的形状,调整拓扑得到正确的低模。

AK-74 中模、高模与低模的对比图
从上到下依次为中模、ZBrush 高模与最终低模。

· · ·

如你所见,中模网格上全是 N-gon(N 边面),而且护木(handguard)的形状与低模完全不同。拓扑大多被简化,与低模只有少数几处共同之处。ZBrush 的打磨工作流是怎样运作的?我用 AK-74 上的这个零件做个小演示:

演示零件的中模立方体与圆柱布尔

· · ·

我总是从中模起步。为了做出这个形状,我会加一个立方体、一个拓扑足够多的圆柱,以及顶部一个六棱柱。

立方体、圆柱与六棱柱的基础几何组合

· · ·

对于这类形状,我总是尽量加上一套我希望低模也拥有的相似拓扑,这样之后就不必清理太多几何体。如果我加的是 72 面圆柱而非 24 面,我就得清理很多,而我想尽可能又快又干净。

布尔(Boolean)运算可以在 3ds Max 上做,也可以在 ZBrush 里用 Live Booleans 功能完成,两者没有任何区别。我会在 3ds Max 里做布尔,以展示使用这套工作流时可能出现的几个常见问题。下面是应用布尔后的网格:

3ds Max 中应用布尔后的网格
在 3ds Max 中完成布尔运算后的演示网格。

· · ·

如果我直接给这个看起来还不错的网格做三角化再丢进 ZBrush,就会出问题。ZBrush 不理解硬边(hard edge)或平滑组(smoothing group)。网格会变成这样:

ZBrush 中平滑组错误导致的伪影

· · ·

如果我直接在 ZBrush 里做布尔,情况会不同;但在更复杂的形状上,我更喜欢第二种方案——在 3ds Max/Blender 上做布尔,再用 Turbosmooth(涡轮平滑)功能。效果如下:

添加 Turbosmooth 后的线框拓扑

· · ·

这个修改器上的勾选项本质上是在寻找平滑组,并在它们变化的位置自动生成折痕(crease)。现在看着很糟!问题其实很简单:每当我们细分一个面,而其相邻边的夹角大于 180° 时,细分曲面(Subdivision Surface)/Turbosmooth 就会犯迷糊,产生我们在上图中看到的伪影。所以为了解决这个问题,我会加一些简单的几何体来消除它,如下图所示:

细分后获得干净边界的网格

· · ·

我完全不介意保留 N-gon,因为它们会被 Turbosmooth/细分解决。每个网格在细分后都会变成四边形(quad)网格,而我们要进 ZBrush 只需要这样。用 Turbosmooth 按平滑组细分后,网格应当像下图这样:

Turbosmooth 前后的网格对比

· · ·

如你所见,得益于我们拥有的拓扑量,边界现在非常干净!如何在 Blender 里复现这套 ZBrush 前的准备?很简单!我们不用在修改器上打勾,而是先标记锐边(sharp edge)、对其做折痕,然后加上细分曲面(Subdivision Surface)修改器!:

Blender 中标记锐边并折痕的工作流

· · ·

网格像上面这样正确适配后,我会把它发往 ZBrush,在其中做 DynaMesh(动态网格)。做 DynaMesh 时要仔细观察,避免它可能产生的一些伪影,比如凸起和凹陷的拐角。要避免这些伪影,你需要更高的 DynaMesh 分辨率。下面是一个好的与坏的 DynaMesh 演示:

高质量与低质量 DynaMesh 的边界对比

· · ·

完成 dynamesh 后,我喜欢用变形(Deformation)菜单里的 Polish Crisp Edges(打磨锐利边缘),以及 Morph(形变)笔刷,来按自己的需要修整边缘。如果需要,我通常会加一些小细节,比如凹痕或凸起。

高模已经做完,现在我使用 ZBrush 的 Decimation Master(抽面大师)工具 来降低拓扑,以便在 3ds Max/Blender 中更顺手地处理。下面是抽面版与未抽面版的网格对比:

抽面前后的多边形数量对比
左:未抽面 9,627,000 面;右:Decimation Master 后 221,126 面

· · ·

把中模正确适配到 ZBrush 网格并不难。如果网格在 ZBrush 里被大幅修改过,建议手动重拓扑(retopology)。如果只是诸如布尔或倒角之类较简单的情况,把改动应用到中模上就不会太耗时。下面是我处理这个低模的思路:

适配高模后的低模线框

· · ·

这就是我主要的高模—低模建模工作流。UV 展开、烘焙、贴图和渲染随后跟上!我在 ZBrush 上加了一些 AK-74 的细节,比如握把花纹,之后被烘焙进了低模。整把武器都是用这套工作流建出来的。

AK-74 握把纹理高模与线框对比

· · ·

ZBrush 上高模的更多视角:

ZBrush 中 AK-74 高模的多角度视图

· · ·

上述工作流存在多种变体,其中最流行的是 Simon Fuchs 的毛瑟(Mauser)教程 以及 Dylan Abernethy 的打字机(Writing Machine)教程(Maya 工作流)。它们都可行,都是达成 ZBrush 打磨结果的不同路径。我最终从各处取了一些片段,把工作流适配到了自己的需求。

UV 展开与排布(UV Unwrapping and Packing)

建模 AK 时我的主要目标之一,是能生成特写图,也许未来还能做一些变体,所以我必须留意自己是如何分配 UV 的:

AK-74 各部件 UV 分辨率彩色分布图
不同颜色代表不同纹理集与分辨率,确保各部件纹素密度一致。

· · ·

AK 有若干个会因型号而异的部件,主要是枪托(stock)、护木(handguard)、弹匣(mag)、握把(grip)和枪口(muzzle),每一个都由不同的 UV 图分开。我想在不同纹理集(texture set)之间保持相近的纹素密度(Texel Density),这正是我选择那些分辨率的主要原因。平均纹素密度为 103,浮动约 20,最低的一张图是 83,最高的 TD 图是 123:

AK-74 纹素密度棋盘格可视化
用棋盘格图案检查各纹理集之间的纹素密度是否一致。

· · ·

为确保 UV 集被正确展开和排布,我用了 RizomUV 和 UVPackmaster,它们是我见过的打包功能最好的工具。必要时我会手动排布一部分 UV。

RizomUV 与 UVPackmaster 排布后的 UV 布局

· · ·

贴图(Texturing)

对于木质贴图,我用了一套在 80 Level 的 SKS 文章Dan Kenton 的左轮手枪教程 里看到的技巧来做基础条纹。我把线条投影到高模上以获得更高清晰度。当我不喜欢投影效果时,也会手绘一些护木条纹。线条细节做完后,我通过 Marmoset Toolbag 的 Base Color(基础色)通道把条纹烘焙进了低模。在下面这段视频里,我处理护木条纹。

木质护木与枪托条纹贴图黑白遮罩
护木与枪托木质条纹在 Substance 3D Painter 中的基础遮罩。

我在条纹底部加了一个锚点(anchor point),并创建了两个不同颜色的基础。给非金属材质贴图时,我一直喜欢遵循这个顺序:基础色(Base Colors)→ 加入色彩变化(Color Variation)→ 加入法线(Normals)与光泽度(Gloss)→ 加入表面瑕疵(Surface Imperfections)。

最后是收尾处理与环境光遮蔽(Ambient Occlusion)。对我来说木材是一种很难做好的材质。我必须反复迭代、经历多轮反馈,才最终达到让自己满意的状态。

枪托(stock)也是同样的处理:

对于 AK 的金属,我想要实现一种半喷漆、磨损、且略带锈迹的观感。为此,我创建了三种材质并用画笔(paint brush)混合。一种用于锈迹,一种用于漆面,最后一种用于油污。锈迹充当一支画笔,这样我就能随心所欲地绘制它:

油污(grease)也是一样,它位于独立的绘制图层上。我确实认为,让一个模型真正独特的东西,正是那些手绘的细节。手绘的油污或锈迹,是生成器或带遮罩的填充层绝对给不了你的。我非常鼓励你在做细节时使用模板(stencil)/笔刷(brush)!下面是整根枪管贴图的拆解。

对于机匣(receiver)、上机匣(upper receiver)、瞄具(sight)和枪口(muzzle),纹理结构与枪管相同,主要区别在于我不想要强烈的对比。我觉得更合适的是玩一点微妙但可辨的色彩变化。机匣区域也大量运用了更”狠”的刮擦,比如保险/射击选择杆(firing selector)上或底部那些划痕。

有一个我始终很享受贴图细节,那就是字体。那些小小的序列号、射击选择字母……AK 的字体有一种漂亮的深浅层次,让它们在 3D 模型上显得独一无二。要达成想要的效果很简单:在 Substance 3D 里写好文字,加上 Height(高度)、一个模糊(blur)和一个 High-Pass(高通)滤镜即可。

我还在数字文件夹上设了一个锚点,以便之后填充我想要的颜色。我还在颜色图层上加了一个 subtract(减淡),给漆面增加一点磨损。这个过程在下面这段视频里展示:

我最后贴图的材质是塑料握把与弹匣。握把是最容易做的纹理。它是一个带色彩变化、法线和一些粗糙度(Roughness)变化的塑料基底。不过,弹匣的纹理比那要复杂一些。

过程与我为枪托和护木所做的木质贴图相似,但我得更有创意才能做出弹匣的过渡(transition)。我最终用这种方式绘制了条纹:

弹匣木质纹理过渡制作过程
左:弹匣参考纹理;中/右:过渡与条纹绘制过程。

正如我提到的,贴图过程与木质贴图相似:

渲染(Rendering)

渲染必须是整个项目最重要的环节之一。我想要为 AK 做简洁的棚拍(studio)渲染,但同时,我也想加入一些能很好地引出这把武器的元素。所以我使用了 BigMediumSmall 的 Special Ops 绑定(rig)。

场景设置极其简单,只有一个摆好姿势、手持我制作的武器的士兵。这个绑定自带多种姿势,让渲染变得非常顺手:

渲染的其余部分是一个白色场景,加一块地平面、一张 HDRI 和几盏灯。对于我想达成的效果,这些就足够了。

我喜欢做的一件事是,在 Marmoset Toolbag 里只加极少量的颗粒(grain),而把颗粒、暗角(vignette)和色彩分级(color grading)放到 Photoshop 里完成。我对最终观感有很高的掌控度:

后期颗粒、调色与暗角处理前后对比

· · ·

部分最终渲染图:

AK-74 枪管与准星特写渲染
展示枪管、准星及金属磨损细节的最终渲染特写。

· · ·

AK-74 双视角棚拍最终渲染
白色棚拍背景下的 AK-74 双视角最终渲染图。

结语(Conclusion)

通过这篇文章,我想展示一套很酷、很吸引人的工作流,以及我在创作一个道具/武器时最看重的那些东西。希望你在读到的信息里发现了一些有趣的内容,也真心希望你能从这篇文章中学到点什么。

在这个资产的创作过程中我学到了很多,我无比感谢 Pascual Hernandez 与 Jorge Falcón 在整个项目期间给予我的所有反馈,感谢我的硕士母校 La Florida Universitària 给了我结识他们的平台,也感谢 Gerard、Marcos 和 Juansa 在我最需要动力与方向时给予我的推动与指引。

我相信热情是快乐与成功的燃料,也相信时间与投入的结合是进步的源泉。只要同时拥有这三者、并且永不停下创作艺术的脚步,你将不可阻挡!

评论留言