以保加利亚民族志村庄为原型的场景渲染,石板巷子两侧是木石结构的民居

引言

我叫 Niki Marinov,目前是 Frontier Developments 的材质艺术家,参与过《侏罗纪世界:进化 2》《F1 车队经理 22》《战锤西格玛时代:毁灭之境》《过山车之星 2》,以及新公布的《侏罗纪世界:进化 3》。我在十多年前还在念书时就开始接触 3D,加入行业之前曾在一批初创公司和小公司工作,2020 年才算正式入行。我在大学读的是计算机工程,但对 3D 的热爱始终没变,这一块基本都是自学。

村庄巷子的渲染,木屋与石板路沿街排开
村庄一角,红色花丛点缀在民居与石板路之间
村庄木屋的近景,可见木料与石墙的材质细节

Substance 3D 签名合集 – 保加利亚村庄

一年前,Adobe 找到我,邀请我为 Substance 3D Assets 制作一套属于自己的 Signature Collection。这对我来说是梦想成真——在我努力成为职业艺术家的路上,一直很仰慕他们合集中那些优秀的作者。你可以在项目页面了解更多。

本质上,我希望这个主题既独特又有个人色彩。由于我在 Meet Mat 2 比赛中凭参赛作品取得了很大的成功,我决定在这个项目上延续那个主题。我安排了几次国内的旅行,走访了许多民族志村庄,用相机拍下了海量参考。之后我从这些参考中仔细挑出 10 套材质,开始制作整个合集。

Substance 3D Signature Collection 的十套材质,以球体与横竖小样的形式展示
爬满绿植的民居场景,展示材质在环境中的表现

粗模搭建

整体构图大致基于保加利亚的几座民族志村庄,但主要是埃塔拉(Etara)。我用手机扫描了几栋房子并导入 Blender 或 Maya,用来参照每件物体的真实尺度。对形体有了把握之后,我又用 Etara 的卫星图大致确定 blockout 的布局。每栋房子的正面和背面参考了不同的素材,这样每次旋转资产,实际上就得到了一栋新的房子。

一排低模民居的 Blockout,正面与背面分别参考不同素材以便旋转后得到不同的房子

拓扑

这里没有任何雕刻或重拓扑,所以这部分我不再展开。我把网格保持得非常低模,只为了支撑材质摆放与在 Maya 中方便展开而增加几何体。所有物件保持相同的 texel 密度,只有在贴图全部贴好之后,我才做细分,这样可以大量依赖 Unreal 的 Nanite 置换。

材质

这套合集的初衷是:任何使用 Substance 3D 套件的人都可以下载它、打开图表学习,或者直接把材质商用在自己的项目里。所以我需要这些材质在外观与功能上都非常通用,同时还要有那些暴露出来的参数。

我能给的最重要的一条建议是:在加任何噪声之前,先尝试「雕刻」出形状的剪影。你应该在完全没有噪声的情况下,就能看出这套材质最终要表现什么。

Collection 中的三套材质:Wooden Floor、Stone Wall 与 Stone Roof

构图

有了房子之后,我开始担心植被。我起初打算用 Blender 做常春藤,但太耗时间,于是决定改用 SpeedTree,一切都变得又快又简单。植被搞定后,我又做了一批用于布置场景的资产,它们都大量使用了那 10 套材质。再之后,背景还缺东西,于是我用低模房子做了一个小山村 BlUEprint,可以在远处散布。最后我从 Tangram 取了真实世界高程数据,放进 Gaea 里生成了一座保加利亚真实存在的山放进背景,算是一个小小的彩蛋。

村庄场景的总览,远处用低模房子与真实地形数据生成的山体作为背景

打光与渲染

打光对我来说相当困难,因为我把场景的整体氛围改了好几次。我非常依赖 HDRI 与 Lumen 来达到想要的效果,之后又在后处理参数和一张自制 LUT 贴图里调整颜色。我尽量把所有镜头都放在视平线高度,就像平时用相机拍照那样,把渲染当成摄影来对待。渲染完成后,我又在 Adobe Lightroom 里对它们统一做了色彩校正。

在 Unreal Engine 中渲染时用到的一批控制台命令,涉及 Lumen、Ao 与渲染采样
经过 Lightroom 调色后并排展示的三张渲染作品

烦人的是,最好的效果来自一堆 Unreal 的控制台命令——没有它们,一半的功能都不能正常工作。

AO – Post Processing
r.Lumen.DiffuseIndirect.SSAO 1
r.Lumen.ScreenProbeGather.ShortRangeAO 0

Lumen
r.RayTracing.NormalBias 5
r.TemporalAA.Upsampling 0
r.Streaming.PoolSize 8000
r.Lumen.Reflections.Quality 4
r.Lumen.Reflections.MaxRoughness 1
r.Lumen.Reflections.HierarchicalScreenTraces 1
r.Lumen.DiffuseIndirect.Allow 1
r.Lumen.DiffuseIndirect.Dither 1
r.Lumen.DiffuseIndirect.SampleAngle 2

Renders
r.TemporalAASamples 64
r.TemporalAA.Upsampling 1
r.SceneColorFringe.Max 0
r.MotionBlurQuality 0
r.TonemapperFilm 1

结语

这套 Substance 3D 合集花了我大约两个半月,而且还是在本职工作之余完成的。房子、植被、道具与 Unreal 场景又花了大约一个半月。加上材质收到的一些反馈,我估计总共用了四个半月。

最有挑战的地方在于我想讲一个故事,又不愿意在项目的规模与体量上妥协。我确实在一些地方走了捷径——如果这是一个正式的游戏项目,大部分资产都会走更完整的流程。不过既然这个场景只是用来展示这一系列材质,它并不需要承担其他功能。

必须说明的是,这套流程并不标准,也不是我们在工作室里做游戏的方式。这个项目只需要展示那 10 套材质以及支撑它们的资产,而不是反过来。

不要被网上那些危言耸听的说法吓住,比如声称 AI 会抢走艺术家的饭碗、以后不会再有这个岗位。是的,我们做东西的方式会发生变化,但这不该让你灰心。只要肯下功夫,你想做到的都能做到。把基础学好,之后每换一款新软件,无非是把同样的原理用到一块新画布上。为创作而创作,其他的一切自然会跟上。

更多材质制作拆解可以查看本站 案例教程 分类;

想了解程序化村庄的生成方式,可以看 Massive | Village:UE 快速生成程序化村庄、农场和废墟 PCG 系统;

想看完整的环境搭建案例,可以参考 维京环境搭建案例:打造生活气息十足的风格化 3D 场景。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。