Pablo Blanes 制作蒸汽朋克小镇场景环境
大家好!我叫 Pablo Blanes,是一名来自马德里但常驻加拿大魁北克的环境纹理艺术家。目前,我在 Ubisoft Quebec 工作。
我已经在这个领域工作了几年,并且参与了几个项目,例如 Medievil 或 Metroid Dread。

我这个项目的主要目标是自己覆盖一个完整的环境;负责所有纹理、建模、照明和后期处理。我想将环境创建的所有领域付诸实践,根据需要在多个软件之间进行混合。对于这个,Unreal Engine 4、Substance Designer、Substance Painter 和 3DsMax 至关重要。
因此,首先,我寻找了一些可以激发我灵感的参考资料。我看到了 Vladimir Manyukhin 的惊人概念,并认为这就是我正在寻找的灵感。
参考和灵感
为了帮助我实现所需的纹理和表面,我寻找可以帮助我完成此任务的额外图像。我开始收集一些很酷的参考资料,混合了真实图片和视频游戏;来自其他艺术家的材质。任何可以帮助我完成这项任务的东西。

我也深受几款电子游戏的影响,例如刺客信条辛迪加或教团 1886,它们具有我一直在寻找的蒸汽朋克氛围。
我想要那种肮脏的外观,充满工业参考,现场到处都是蒸汽。
此外,我的主要目标之一是尽可能接近这个概念。我想获得类似的外观,就好像我正在制作作品一样。我知道大型机会,因为概念艺术家通常非常了解取景和构图。
建模
通常,当我开始做这样一个大项目时,我更喜欢从一个粗略的场景开始。对我来说,在白模中有或多或少相同的感觉是非常重要的(专注于大形状)。有了这个,我可以很好地了解建筑物的规模和我需要使用的纹理的规模。此外,在第一个过程中,我通常会计划场景的哪些部分可以平铺、修剪或烘焙对象。
我创建了建筑物的第一个模块,我能够将它们导出到 UE4 场景中,因此我可以开始在引擎中添加一些细节。
我总是在场景周围放置一些角色,所以我确信我正在使用正确的比例。此外,这对我理解透视图有很大帮助,或者如果我必须更改某些模块的大小以获得逼真的比例(同时适合概念的构成)。

虽然在我的情况下,一开始照明通常不合适,但我并不太担心,我通常也会在后期处理这部分,更多是在项目结束时。
关于场景中的资产,有几个因为我使用了自定义纹理。我决定根据资产可能具有的细节量或场景中可能具有的重要性来执行此操作。我们的眼睛可能会关注环境的几个部分,而不是其他部分,而那些是我会尝试获得更多细节的地方。

上图中是我使用烘焙纹理的一些主要资产。我专注于给他们所有人一种生锈的外观,充满污垢。在我看来,那些街道不会很干净;空气中会聚集大量的工业粉尘颗粒,让整个场景笼罩在暗淡的蒸汽之中。
这些资产都使用相同的管道从头开始到最后一步。我使用 3Ds Max 进行建模,使用 Marmoset Toolbag 进行烘焙(以及上面的渲染),使用 Substance Painter 进行纹理处理。
通常,当我在 Unreal Engine 中集成资产时,需要调整一些属性以获得与 Substance Painter 中相同的外观。
尽管它们使用的材质不完全相同,但我试图保持相同的颜色氛围,非常不饱和,混合了一些金属和一些铁锈。
在某些资产的情况下,我添加了一点发光效果,以在场景中生成有趣的光点,并保持与概念相同的风格。

我决定混合使用烘焙纹理和可拼接装饰的另一个元素是管道。
我创建了一组元素,我会在整个场景中多次使用这些元素来装饰它。这些将是与管道一起使用的手柄和其他资产,并且这些将使用烘焙纹理。关于管道本身,我创建了一个可平铺的装饰,全部采用相同的纹理,因此我可以通过移动 UV 来改变不同的纹理(这个过程我直接在引擎内完成)。

材质和 Tileable 纹理
为了为环境创建可平铺的纹理,我通常使用 Substance Designer 或 Zbrush,这取决于我可能需要什么。对于这个场景中开发的材质,我主要使用 Substance Designer。

对于几乎所有材质,我都创建了一个主材质,它是层次结构中的主要材质,我会根据需要为每种材质使用实例。

我喜欢创建具有大量属性的材质实例,以便我真正轻松地调整值,例如我们平铺(有时每个轴上不同)、法线强度、粗糙度值、一些颜色变化……这真的 这种方式很容易使用相同的纹理源创建材质的快速变化,能够创建各种有趣的表面,而无需使用外部软件,只需重复使用引擎内部已有的纹理。
此外,由于场景中的大部分材质都是来自相同主材质的“子”材质,所以当我唯一需要的是更改纹理槽时,我不会使用额外的内存在引擎内部调用其他主材质。
我研究了现场;确定整个作品需要多少材质。其中一些还需要与其他材质混合才能获得理想的效果。
例如,对于砖块,我还制作了一种我会混合在一起的混凝土材质,这样我就可以做出效果或处于更差状态的部分。这也将帮助我“打破”平铺,并将成为一种更有趣的表面。

对于建筑物的故事情节,我认为在靠近管道的表面上制造更多损坏的部分可能会很酷。管道可能会损坏建筑物的外墙。
讲故事的另一个例子是路上的小水坑。我只是重复使用相同的纹理但具有不同的值,不仅在粗糙度方面而且在漫反射方面。

道路不均匀,所以水可能会在某些地方积聚更多,打破重复的平铺,让道路更真实。
对于鹅卵石地板,Unreal 的地形/景观工具非常方便。我创建了混合表面,在鹅卵石本身与水坑混合的几种变化之间。水坑会增加这层污垢,并且还取决于我进行渲染的帧,会增加漂亮的反射。当我在主定向光落下时制作屏幕截图时,会出现地板粗糙度的差异,与水坑形成鲜明对比。

即使是背景部分,比如远处可以看到的桥的墙壁,我也使用了一些与顶点颜色混合的材质,以始终保持良好的细节层次。

对于红色屋顶瓦片,我决定用一些地理建模来支持这种材质。虽然大部分场景都是用曲面细分设置的,但经过一些测试后,我决定自己建模在这种情况下会更好,而且会更“高效”。
因为我确定在这种材质中我需要哪种平铺,所以我能够在几何体中准确地在我想要的位置添加一些循环,以适应引擎内部的纹理。
而且,就像那样,发动机内部这些车顶的形状会完美地工作。

树叶/贴花/海报
这 3 个元素形成了一层额外的讲故事和布景,这将有利于我场景的总体构图。我确实相信,在整个环境中处理这些微小的细节会给人一种场景生动的感觉,而不是空洞的感觉。
对于树叶,我使用了来自 Textures.com 的源纹理,对于海报,我在谷歌上拍摄了一些有助于创建报纸外观的图像。
虽然有些报纸广告是手动放置的,但其他报纸广告是使用虚幻引擎中的植被工具放置的。以这种方式填充整个场景地面非常舒适和容易,使它看起来更逼真,不那么空洞。

管理密度以及我希望树叶和纸张出现的位置对我来说真的很容易。我混合了不同强度的树叶(我能够在每个树叶演员中混合不同的密度),这样分布就不会显得均匀。
一旦我得到一些适合我的场景的很酷的图像(我试图得到一些适合 1920 年代蒸汽朋克氛围的照片),我将它们发送到 Substance Painter,自己创建不透明的蒙版,并且能够得到 一些不错的粗糙度信息。

关于贴花,我使用了 Adobe Photoshop 和 Zbrush,并手动创建它们。我在场景周围放置了贴花,在有意义的部分,也提高了视觉质量。根据我的经验,在制作作品时,我通常会在多边形建模软件中手动为贴花创建几何体,但在这种情况下,我使用了 Deferred Decal 工具。该场景从未打算成为可播放的演示,因此在某些方面我不必太担心性能。

我创建了一个主材质来满足我的需求,场景周围的所有贴花都会使用它。这样,当我需要更多或使用不同的源纹理时,可以很容易地创建更多的材质实例。在这种情况下,属性是多种多样的,比如移动和缩放 Uvs 以适应我在 Atlas 纹理中想要的贴花,根据我的需要修改法线的强度,或者夹紧不透明蒙版。

我将其中的几个放置在建筑物周围的不同位置以抛光整个立面并使其更加可信,有一些灰尘,一些漏水和一般的污垢。

此外,我使用贴花在建筑物中放置文本,并获得与参考概念中相同的氛围。这是使用此类元素保持良好纹素的好方法。甚至在“红龙”大楼的一个立面上象征龙的符号也使用了贴花,并且与砖块融为一体。

此外,我使用贴花在建筑物中放置文本,并获得与参考概念中相同的氛围。这是使用此类元素保持良好纹素的好方法。甚至在“红龙”大楼的一个立面上象征龙的符号也使用了贴花,并且与砖块融为一体。
齐柏林飞艇
正如我之前解释的那样,场景的大部分使用相同的主材质,使用顶点颜色工具混合以在不同材质之间混合。但就齐柏林飞艇而言,我认为最好“调整”它以使其适合场景,因为它总是从很远的地方被看到。
在这个概念中,这个元素带来了强烈的蒸汽朋克审美感,并且在构图中效果非常好,所以我确信我需要为我的作品带来同样的氛围。
根据我的经验,如果齐柏林飞艇是一个游戏对象,玩家会与之互动,或者可以近距离观察的东西;当然,您需要其中的很多细节。如果这是我的情况,考虑到它的大小,我可能会使用与该元素的建筑物相同的管道。
所以,我需要将齐柏林飞艇安装在天空中,让它看起来像是场景的一部分。
我创建了孔网格,但没有创建很多细节,只是足以让形状可以很好地阅读。音阶不是真正的音阶,它很小,但我只需要将它融入我的作品中,所以这不是问题。

纹理被烘烤。我不需要太多细节,只需要一些微妙的颜色,这就是我想要的效果。另外,我在 Unreal 内部设置了着色器是 Unlit,因为我不想在它上面有任何光照信息,我更容易直接在纹理中伪造它,因为它总是从很远的地方看到。
另外,我放了一个滑块来进一步降低纹理的饱和度,直到它按照我想要的方式与天空融合在一起。我对背景中看到的建筑物使用了相同的方法,目的是要有一个可见的轮廓。

VFX/后处理/Ligthing
当我从事大型个人项目(例如这样的场景)时,我总是喜欢添加一些 VFX 细节,以帮助讲述环境及其独特性。
因为我不需要复杂的 VFX 效果或发射器,也不需要播放场景;我通常设法自己完成这些效果

我只是设置了基本参数来创建一个将放置在场景周围的简单烟雾。我创建了一个带有 alpha 混合的着色器,以便能够创建烟雾视觉效果。它使用默认广告牌。
对于主要模块,我只控制粒子开始和结束时的 alpha,以避免在我的发射器中弹出。还添加了一些旋转和相同的比例变化。我创建了几个具有不同初始速度、不同大小和不同 alpha 不透明度的发射器……所以如果将用于场景的不同部分。一些粒子系统将用于模拟由于压力从管道上的小孔中冒出的烟雾;其他的只会被用作潮湿街道的雾,而其他的可能是烟囱里冒出的烟。
这与 Unreal 中的雾化工具相结合,还可以让我区分离相机较近的元素和最远的元素,以使其在渲染中非常清晰。

对于照明,我专注于能够保持漆黑的夜晚气氛,但同时又足够亮以便可见,因此渲染会很有趣。第一盏灯,即照亮道路主要部分的灯,是定向灯。
从那里,我放置了几个暖色点灯(其中一些靠近窗户或路灯),甚至在某些点上放置了一些白色点灯,这些点灯可以照亮我想要看到的一些元素。

关于后期处理,是在场景比较完整的时候再打磨的。
就像灯光一样,我需要让构图更高级,以便知道我在这个领域的步骤会更明确。我只使用了一个后期处理立方体,因为我想要整个场景使用相同的调色板和样式。

我只是使用了一点色调映射来为一些阴影着色,增强场景中的一些绿色,减少红色……我调整滑块直到我得到更接近我正在寻找的东西。我想要一种深色主题,使用更冷的颜色。这是让我能够传达我想要的场景氛围的最后一笔。
我还添加了一些在场景中生成的环境光遮蔽,并加强了水坑上的反射(屏幕空间反射)。在对一些东西进行最后的润色之后,我觉得经过最后这个过程之后场景就完成了。
结尾
总结一下,这个项目很难但同时也很有趣。我花了很长时间,但我对结果真的很满意。我觉得我在做的过程中学到了很多东西,这是一次很好的实践我的环境艺术技能的经历。


