东欧街边售货亭:2000年代初氛围场景的建模与 PBR 贴图

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

Modeling & Texturing a Kiosk Inspired by East European Towns in the Early 2000s

介绍

我于2018年在莫斯科担任工程师时首次接触3D。我一点也不喜欢那个职业,并且知道自己不会长期留在那里,所以我开始寻找一些我真正喜欢并且有可能以此建立职业生涯的事情。起初,我考虑过平面设计和在Photoshop中工作。但在某个时刻,我甚至不记得究竟是什么引发了我的兴趣,我对3D,尤其是游戏开发,产生了浓厚兴趣,并决定专注于这个方向。

在研究不同的3D软件包时,我最终在3ds Max和Blender之间做选择。尽管当时3ds Max使用更广泛,但与我相比Blender,它的界面对我来说相当复杂且不直观。下班后的空闲时间,我开始通过YouTube教程学习建模。最初,我以为我也会在Blender中处理纹理,但后来我意识到那对我来说并不是一个真正可行的选择。基于节点的工作流程感觉不方便,而且Blender在现代游戏制作流程中很少被用作主要的纹理工具。

在接下来的两年里,我主要专注于提高我的建模技能。离开工程师工作后,我突然有了大量空闲时间和足够的积蓄,可以完全专注于发展新技能,同时尝试进入游戏行业。那时我开始更认真地学习PBR纹理工作流程。当时和现在的行业标准都是Substance 3D Painter,我立刻就觉得使用它很舒服。

大约六个多月后,在作品集中发布了八个项目之后,我找到了第一份工作,或者更确切地说,这份工作通过ArtStation找到了我。这就是我在CM Games开始游戏开发职业生涯的方式,在那里我参与了VR游戏《Into The Radius》。后来,我加入了Social Quantum,为移动项目《Lost Future》做出贡献。目前,我在L3D Studio担任纹理艺术家,专注于为AAA游戏中的车辆和道具制作逼真的PBR纹理,包括《Wardogs》、《坦克世界》、《战争雷霆》、《MXGP》、《微软飞行模拟》和《Enlisted》。

Modeling & Texturing a Kiosk Inspired by East European Towns in the Early 2000s
Modeling & Texturing a Kiosk Inspired by East European Towns in the Early 2000s
Modeling & Texturing a Kiosk Inspired by East European Towns in the Early 2000s
Modeling & Texturing a Kiosk Inspired by East European Towns in the Early 2000s

售货亭

这个售货亭资产最初是我最后几单自由职业委托之一。我在 Telegram 上收到一条消息,问我能否制作一个售货亭资产,灵感来自 2000 年代初俄罗斯各地常见的小型街头售货亭。要求的面数是中模/高模,但不要把几何体推得太细。根据需求说明,摄像机只会以飞越镜头从售货亭旁经过,没有任何特写。

因此,没有必要添加过多的几何细节。例如,展示窗有意保持为平面,而不是对货架上的单个商品进行建模。完成委托后,我决定进一步完善这个资产,并准备把它发布到我的作品集中。在收集参考时,我尽量真实地还原那个时代的氛围:2000 年代初俄罗斯某座外省小镇里一个典型的落满灰尘的售货亭,贴满广告海报、公告和涂鸦。

入口附近必须有一个满溢垃圾的垃圾桶,旁边放着一把旧但依然结实的椅子,售货员可以在抽烟休息时坐。售货亭周围的整个区域都很凌乱,还有刚下过雨留下的水洼。自然,售货窗口正前方也有一个大水洼。为了防止人们直接踩进去,我在那里放了一个托盘。

大多数参考图都能通过 Google 轻松找到。然而,为展示窗找到一张好的参考图却出奇地困难,尤其是玻璃上没有反光且图像质量不错的参考图。最后,ChatGPT 帮助生成了一张合适的参考图。经过几次提示后,我得到了可用的东西,不完美,但对这个任务来说足够好了。

Modeling & Texturing a Kiosk Inspired by East European Towns in the Early 2000s

如前所述,客户希望这个资产是中模/高模,因此我不需要烘焙法线贴图,而在低模资产上我通常会这么做。对于附加的道具,我也采用了同样的做法,以保持整体的一致性。

Modeling & Texturing a Kiosk Inspired by East European Towns in the Early 2000s

建模

所有对象的建模都从定义轮廓的基本体开始。大多数比例是凭肉眼搭建的,而不是使用严格的真实世界尺寸,之后我添加了有趣的细节,比如波纹板和窗栏。为了制作波纹金属,我做了一个形状像正弦波的小型弯曲平面,并使用 Array 修改器重复它,直到达到所需尺寸。然后我使用 Solidify 添加厚度,并用 Bevel 收尾。

对于窗栅,我在一个简单的边缘结构上使用了细分曲面(Subdivision Surface)和蒙皮(Skin),如下方视频所示。这种方法无需手动建模每个元素,就能创建出合适的弯曲栅条几何体。之后,我沿 Z 轴添加了镜像(Mirror)修改器,应用了倒角(Bevel),并使用阵列(Array)将栅条重复到所需宽度。

破损的蓝色外立面覆盖物在制作时就考虑到了细分曲面。我先添加了几条循环切割,把边缘弯曲成所需形状,然后应用修改器,并逐渐增加更多边,同时轻微拉扯几何体以形成大褶皱。

其余物体由简单的原始几何体加基础倒角构建,而大多数更精细的细节是在之后的纹理阶段添加的。我执行的唯一网格优化是移除在应用细分曲面和蒙皮后、设置窗栏时产生的不必要循环切割,因为它们不影响最终形状。

在 Blender 中进行 UV 映射时,我总是结合使用 UVToolkit、Texel Density 和 UVPackmaster 这几个插件。最后,我把售货亭本身放在一个 UV 集上,把额外道具放在另一个 UV 集上。

Modeling & Texturing a Kiosk Inspired by East European Towns in the Early 2000s
Modeling & Texturing a Kiosk Inspired by East European Towns in the Early 2000s

该场景使用了两张 4K 贴图。为优化纹素密度,移除了不可见的多边形,并在某些部位使用了 UV 重叠,例如椅子腿或挂在窗户上的烟盒。此外,我还添加了一些来自 Quixel 的现成摄影测量垃圾素材,这些我会在后续贴图阶段展示。

贴图

接下来,我们来看看贴图过程。我主要通过视频展示材质设置,那样确实更容易一些。我不会做极其详细的解释,但你仍然能看到添加了哪些图层。我先从售货亭本体开始。所有材质都从基础色开始,然后是表面不规则细节和基础法线。之后,我添加细节,比如木门上的磨损和划痕、突出元素上的变暗,以及垂直面和水平面上不同的颜色变化。

这些变化类似于日晒褪色或变色。在垂直面上,它们更像条状痕迹,而在水平面上,它们则表现为各种污渍的组合。接下来,我添加粗糙度变化,以打散高光并制造在光照下更有趣的反射。最后,我添加一些深色和浅色划痕来完善材质。蓝色外墙覆盖层也采用类似方法。

金属材质意在呈现深色脏污的感觉,霉斑、锈迹和污垢同时出现,同时让锈迹相对微妙。之后,我添加场景陈设细节,比如海报、涂鸦和告示。我不会详细讲如何制作纸张和贴纸材质,因为这是我在项目中经常使用的工作流程。不过,有一个小细节值得一提,就是告示下方使用的黑色填充层。

如果没有它,由于底层基础色,纸张边缘会出现白色轮廓。接下来,我添加钉子、渗漏、不同类型的污垢,当然还有水洼。我非常喜欢它们产生的高光。为了完成售货亭材质,我将曲率贴图以叠加模式添加到基础色上。这会稍微压低整体颜色,同时增加一点凹陷阴影,有助于强调微小的表面细节。我之后还会再次使用这个技巧。

接下来是地面的纹理制作。在这里,我混合了几种地面材质:松散的泥土、带有脚印的较平滑土壤,以及带有干草的土地。然后我添加了一些色彩变化、碎屑和色彩校正。之后,我制作了水洼。水洼遮罩随后被复用为用于细分(tessellation)的置换(Displacement)遮罩。同样地,我在基础色(Base Color)中应用了曲率贴图(Curvature Map),并使用叠加(Overlay)混合模式来增加额外细节。不过,在这种情况下,它并不只是一张烘焙贴图。

它是曲率 Sobel(Curvature Sobel),由一个特殊滤镜生成,该滤镜可将地面纹理的法线贴图(Normal map)转换为曲率贴图。我从 Substance 3D Designer 中提取了这个滤镜,以及另外几个实用滤镜。不透明度贴图(Opacity map)是使用 Dirt 2 笔刷绘制的,并用色阶(Levels)做了轻微调整。

接下来是垃圾桶。我先从基础颜色开始,然后在基础颜色中加入曲率贴图,并使用叠加混合模式。之后,我引入各种变化,比如老化的油漆、渗漏痕迹,以及用曲率 Sobel 来强调更厚的陈旧油漆层。接着进行色彩校正。接下来是锈迹和油漆剥落。这里的材质设置经过设计,几乎一切都能够自动生成,只需极少的手动调整。

灰尘和污垢层几乎没有改动,它们是从报刊亭材质复制过来的。至于垃圾本身,我找到了一张合适的图片,并据此生成了粗糙度贴图和置换贴图。除此之外,我还加入了前面提到的各种垃圾的 Quixel 摄影测量资产。

接下来是那把旧椅子。这里的主要目标是做出令人信服的老化木材材质。在这个案例中,相比参考图,我更多依靠自己的视觉经验,尽管并非总是如此。我添加了一些破损,并逐层逐步构建出木材材质。

最终得到的是一个相当复杂的材质,所以我就不展开太多细节了。然后我把从垃圾桶材质复制过来的污渍加进去,接着处理座面。这个材质更简单:褪色的布料、一些起球、轻微撕裂以及污渍。

最后,是那块又旧又脏的托盘。我希望它看起来粗糙,由未经处理的木板制成,因受潮而开裂、风化,带有灰蒙蒙的泥土色调。我通过将一张老木头的图片叠加在基础木材材质之上,并从中提取 Roughness 和 Height 遮罩,来实现这一效果。细心的观众可能会注意到,当我以 100% 不透明度的 Normal 混合模式启用老木头纹理的 Base Color 图层(color var 1 和 color var 2)时,它们并不会完全覆盖基础材质的颜色,而是与之互补。

出现这种情况,是因为包含这些图层的 Color variation 文件夹被设置为 Soft Light 混合模式。木板边缘同样是用一张普通图片结合颜色校正制作而成的。最后,我添加了污垢,并确保它从侧面看显得潮湿,因为托盘位于水洼中,渲染时会被略微浸没。

渲染

场景在 Marmoset Toolbag 5 中渲染。刚开始学习渲染时,我看了很多关于灯光应该如何布置、应该使用多少个光源的资料。随着时间推移,我逐渐不再拘泥于严格规则,现在主要依靠视觉直觉。我会尽量以能清晰展现场景纵深、Normal 和 Roughness Maps 中的细节,以及好看的高光和轮廓剪影的方式来设置相机和灯光。

我首先设置相机。在这个项目中,视场角从俯拍镜头的 35° 到较低角度的 45° 不等。然后我把 Tone Mapping 切换为 ACES,稍微提高 Contrast 和 Saturation,再加一点 Sharpen 和 Vignette,通常这样就足够了。

Modeling & Texturing a Kiosk Inspired by East European Towns in the Early 2000s

灯光通常会针对每个镜头单独调整。作为主光源,我通常使用 Directional Light,一般会放三到六盏。需要模拟实际灯具时,我会添加 Spot 或 Omni 灯。我也会使用 HDRI,通常各个项目都用同一张,单纯是因为我喜欢它。

你可以在视频中看到,发出黄光的灯使用了两 个光源。我如果只用放在玻璃灯罩内部的那一个光源,视觉上看起来不错,但由于玻璃 shader 的特性,它几乎照不亮周围区域。无论我怎么提高强度,灯本身都只会变成白色。

因此,我在灯的下方添加了第二个光源。额外的后期处理方面,我用了 Luminar Neo。它有一些很出色的工具,可以智能增强细节和对比度。在视频中,我展示了预设以及处理前后的差异。

给使用 Luminar Neo 的人一个小提示:请把原始渲染图与编辑后的版本分开保存。如果你覆盖了原始文件,那么每次重新保存图像时效果都会叠加,最终会变得过强。另外,不要更改原始渲染图的位置。这样你就可以随时重新打开 Luminar Neo,并从目录中继续调整它们。

结语

至于制作时间,售货亭本身花了大约 18 小时,这是与客户商定好的。其余工作,包括为作品集版本所做的改进,又花了几天。总计项目大约用了 7–8 天。制作过程中最大的挑战,是想清楚可以为这样一个简单物件加入哪些小型叙事细节,让它在视觉上吸引人,并且足够强,可以作为作品集项目。

我最喜欢的部分是处理那些更小的细节:椅子、垃圾桶、告示和海报,以及售货窗口区域。这些元素在制作材质时最需要注重细节和创造性解决问题。这个项目是一个很好的机会,让我重现 2000 年代初俄罗斯日常生活中一个小而容易被辨认的片段。

制作这个项目让我能够专注于通过环境细节讲故事,并探索微小的不完美、杂乱和老化如何让场景显得真实可信。对建模感兴趣的人,我会推荐 Artem Slakva 的 YouTube 频道,他还在 VideoSmile 上制作了 Super Blender 课程。贴图方面,我推荐 Alexander Kolyasa 的 Super Substance 课程。你也可以在 YouTube 上找到他的几个免费教程。

Daniil Gibbs,3D & 贴图艺术家

采访:Amber Rutherford

相关链接

原文链接:https://80.lv/articles/modeling-texturing-a-kiosk-inspired-by-east-european-towns-in-the-early-2000s

喜欢这篇内容吗?