
引言
大家好!我是 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 相关、能帮助我理解武器运作原理、并据此正确建模的内外部零件:

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

· · ·
寻找参考时,我总会优先找这几样东西:一段 YouTube 拆解视频、该武器的评测、包含我所建模武器的参考包(如果能包含多把你想做的武器就更好了)、拍卖网站,以及武器零件清单——无论是从某个随机论坛还是从武器制造商那里获取,方便之后检索。
建模(Modeling)
建模时我同时使用 3ds Max 与 Blender。两者都是出色的软件,同一套工作流可以经由不同路径实现。虽然这把武器我用的 3ds Max,但我会顺便说明这套工作流如何对应到 Blender。
谈到写实游戏时,几乎所有优秀的 3D 道具/武器都会先做高模(high-poly),再以低模(low-poly)作为将高模投影下来的手段。如果把重点放在让低模去适配高模,多数情况下反而会限制美术的创意发挥和武器的最终观感。我个人的工作流主要聚焦于:
- 先做一个关注”型”而非布线的”中模(mid-poly)”。
- 把中模导入 Zbrush,一直打磨到理想的样子。
- 拿 ZBrush 抽面(decimate)后的高模,让之前的中模去适配高模的形状,调整拓扑得到正确的低模。

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

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

· · ·
对于这类形状,我总是尽量加上一套我希望低模也拥有的相似拓扑,这样之后就不必清理太多几何体。如果我加的是 72 面圆柱而非 24 面,我就得清理很多,而我想尽可能又快又干净。
布尔(Boolean)运算可以在 3ds Max 上做,也可以在 ZBrush 里用 Live Booleans 功能完成,两者没有任何区别。我会在 3ds Max 里做布尔,以展示使用这套工作流时可能出现的几个常见问题。下面是应用布尔后的网格:

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

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

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

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

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

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

· · ·
完成 dynamesh 后,我喜欢用变形(Deformation)菜单里的 Polish Crisp Edges(打磨锐利边缘),以及 Morph(形变)笔刷,来按自己的需要修整边缘。如果需要,我通常会加一些小细节,比如凹痕或凸起。
高模已经做完,现在我使用 ZBrush 的 Decimation Master(抽面大师)工具 来降低拓扑,以便在 3ds Max/Blender 中更顺手地处理。下面是抽面版与未抽面版的网格对比:

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

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

· · ·
ZBrush 上高模的更多视角:

· · ·
上述工作流存在多种变体,其中最流行的是 Simon Fuchs 的毛瑟(Mauser)教程 以及 Dylan Abernethy 的打字机(Writing Machine)教程(Maya 工作流)。它们都可行,都是达成 ZBrush 打磨结果的不同路径。我最终从各处取了一些片段,把工作流适配到了自己的需求。
UV 展开与排布(UV Unwrapping and Packing)
建模 AK 时我的主要目标之一,是能生成特写图,也许未来还能做一些变体,所以我必须留意自己是如何分配 UV 的:

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

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

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

我在条纹底部加了一个锚点(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 里完成。我对最终观感有很高的掌控度:

· · ·
部分最终渲染图:

· · ·

结语(Conclusion)
通过这篇文章,我想展示一套很酷、很吸引人的工作流,以及我在创作一个道具/武器时最看重的那些东西。希望你在读到的信息里发现了一些有趣的内容,也真心希望你能从这篇文章中学到点什么。
在这个资产的创作过程中我学到了很多,我无比感谢 Pascual Hernandez 与 Jorge Falcón 在整个项目期间给予我的所有反馈,感谢我的硕士母校 La Florida Universitària 给了我结识他们的平台,也感谢 Gerard、Marcos 和 Juansa 在我最需要动力与方向时给予我的推动与指引。
我相信热情是快乐与成功的燃料,也相信时间与投入的结合是进步的源泉。只要同时拥有这三者、并且永不停下创作艺术的脚步,你将不可阻挡!


评论留言