在Maya、Substance和Unreal中创建西洋船

介绍
嘿!感谢您抽出宝贵的时间阅读本文。我很荣幸与您分享我最近完成的 Boat Diorama 项目的工作,我希望来自令人惊叹的 80 Level 社区的一些人会发现我所说的有用。
我的名字是 Ali Mshasha,我是一名 3D 环境艺术家。我住在不列颠哥伦比亚省的温哥华,我在智库培训中心的学业即将结束。

船西洋镜项目
我开始着手这个项目时,心中有一个既定目标:提高我的风格化技能以及发展我的虚幻引擎着色器知识。
该项目的灵感之一是我的导师约翰尼马尔科姆的作品,他的艺术非常复杂和详细,但作为整体形象仍然清晰。另一个灵感,也是我选择的概念的艺术家,是Mike Azevedo。每当我看到他的情感人物和环境时,我都会感到震惊。他的船插图嵌套在一系列环境概念中,立即引起了我的注意。

造型
我通过在 Maya 中封锁船及其周围的一切来开始我的项目。为了忠于这个概念,我使用了一个名为 fSpy 的免费程序,通过将透视图与概念图对齐来确定场景中主相机所需的焦距。
一旦我知道焦距,就很容易将我的 Maya 相机与概念艺术的视角对齐。完成后,我所要做的就是对场景进行框建模,使我的所有资产都具有可以构建的形状。从一开始,我就知道建模阶段最大的挑战将是绳索和渔网,而模型的其余部分则具有相当简单的形状。因此,在封闭阶段,我创建了一个球体,并使用 Maya 的雕刻工具将其推到周围以形成网的总体形状,并创建了绳索的粗略形状。
在封锁之后,我认为最好在 ZBrush 中雕刻鱼和刀,因为获得有机形状比在 Maya 中更容易获得。我使用 DynaMesh 雕刻鱼和刀的形状以获得具有所有形状的高多边形版本,然后我使用 ZRemesher 清理高多边形并创建雕刻的低多边形版本。我保存了这些资产的 2 个版本,低多边形版本用于 UV 展开并在我的场景中使用,高多边形版本用于在 Substance Painter 中烘焙,以便我可以将细节转移到低多边形网格的法线贴图。
将资产导入回 Maya 后,我开始创建游戏网格,该过程主要涉及对许多边缘进行斜切,并完善一些在块中不存在的细节。网是通过将斑点(我之前从封锁中获得的)变成活动表面而制成的,这意味着物体和工具将捕捉到它。然后我使用与概念艺术对齐的相机沿着概念网络绘制曲线。
一旦我有了曲线,就只是沿着它们挤压管子的问题。在 Maya 中,有几种方法可以解决这个问题。我的首选选项是创建一个 NURBS 圆,将其调整为所需的直径,然后转到 Surfaces -> Extrude Options 并沿所选曲线生成一个多边形管。这种方法比创建圆形平面并沿曲线挤出面更好,因为否则工作流程会有些破坏性。使用 NURBS 圆可使挤出的管保持活动状态,并允许您通过更改圆的大小来更改管的大小。
这种方法也适用于场景中的其余绳索。
建模过程的其余部分相当简单,除了悬垂可能需要一些布料模拟。最后,这就是我的模型的外观:

展开
在 UV 展开我的模型时,我使用了 Maya 的内置功能,这些功能在过去几年中变得非常出色。如果你没有 Maya,你可以使用 RizomUV 或 UVLayout 等软件,我相信 Blender 也有一个很好的解包工具。
在这个过程中,我面临着两个决定纹理过程的选择。第一个选项是将船视为英雄道具资产,第二个选项是将其设置为更可平铺的纹理方法。我决定采用 Hero 方法,因为我知道该项目的最终结果将是一个从原始概念的角度来看的视频,并且没有人会经历它,因此纹素密度不必非常高大的。它只需要足够高以在 4k 视频中观看时看起来不错。我将我的船分成 4 个 UV 组,用于所有不同的部分和资产,除了鱼的网、绳索和眼睛,以便我可以应用平铺纹理。下面是一个 UV 组的示例。
绳索和网以这种方式展开以适应 64×64 平铺绳索纹理。
最后,您需要确保整个网格的纹素密度相同,否则纹理看起来不会具有相同的分辨率。
如果有人对 texel 密度感到困惑,我强烈推荐 malcom341 的视频,他解释得很好。

纹理
纹理化阶段相对简单。它是使用 Substance PainterSubstance Designer 完成的。我首先创建了一个概念的调色板,我建议使用 Adob​​e Color 提取颜色以供参考和采样。这让我可以在某些东西看起来不对时直接比较值。
我将我的游戏网格带入 Unreal 并应用了一些基础材质,这些材质后来保存了从 Substance 导出的文件,这样我就可以看到我的纹理在引擎中的外观。我还将 Substance Painter 中的颜色 LUT(查找表)更改为 ACES,这与 Unreal 使用的 LUT 相同,因此我的纹理在两个软件之间看起来无法区分。我强烈推荐William Faucher 的这个教程来了解 LUT 并学习如何在 Painter 中更改它。
为了制作绳索平铺纹理,我在 Designer 中创建了一个非常简单的图形,它使用平铺生成器和几个混合在一起的斜面来创建一个简单的旋转形状。眼睛也是在 Designer 中制作的,但它本质上只是两种颜色,带有渐变径向蒙版将它们混合在一起。
Substance Painter 中,我烘焙了网格以生成诸如 Ambient Occlusion 和 Curvature 之类的贴图,以便稍后在纹理化时用作蒙版。
我注意到 Unreal 没有捕捉到我的木质纹理的大部分细节,所以我夸大了纹理的高度、颜色对比度和粗糙度,以更好地捕捉外观。事实上,我对大部分(如果不是全部)纹理都这样做了,这样我就可以让虚幻引擎中的所有东西都更加突出。
对于木材,我制作了多个我在 Painter 中创建的基础材料,以便我可以将它们放入我的图层中并进行相应的调整。例如,我将有一种木材材料,然后是另一种树皮材料,我将其覆盖在具有更高高度值的顶部以将其推出。这使我能够快速创建可以单独调整和编辑的不同类型的木材。
颗粒和破碎通常使用噪音或垃圾作为“填充层”上的掩码。当我需要添加特定细节时,我为蒙版添加了绘画调整,以便我可以手动绘制自己的细节。我还在高度的重大调整中广泛使用了“锚点”,以便我以后可以将它们应用为“微高度”细节,例如,在创建我的网格的曲率高光时。如果你不完全了解如何使用锚点,我强烈推荐这个来自 FlippedNormals 的视频:
在创作风格化作品时,一个非常常见的做法是突出你的边缘,使它们脱颖而出,并定义你资产的整体形状。通过创建“填充层”并使用曲率生成器对其进行遮罩,可以在 Painter 中轻松完成此操作,以便“填充层”仅出现在边缘上。就您想要的而言,正确使用它需要在发生器中使用平衡和对比度滑块。蒙版该图层后,您可以将颜色调整为您想要的样式。我通常复制我的材质的基础层,并少量提高值和饱和度,偶尔,如有必要,对我的曲率高光应用轻微的色调偏移。
为了在我的船的蓝色屋顶上获得“笔触”效果,我创建了一个更亮的层,被几个“Crystal 2”噪音掩盖,最大对比度与不同的随机性种子以引入变化。然后我在蒙版上添加了一个油漆调整,以在我想要的任何地方添加一些我自己的笔触。然后,我将它们乘以“定向噪声”噪声模式来分解它们。
我遇到的另一个纹理挑战是实现金属的风格化外观。我开始通过调整金属贴图上的值来工作,但它对于风格化的作品来说似乎太现实了。因此,相反,我使用光发生器来创建一个模拟定向光的蒙版,并允许将光照烘焙到纹理中。这对于不移动的物体尤其有用,因为您可以“艺术指导”您希望物体如何捕捉和反射光线。

虚幻引擎和着色器
一旦我的纹理完成并在 Unreal 中看起来不错,我就开始研究 Water Shader。Unreal 有一个内置的水插件,它为您提供了一组相对容易的工具来创建统一的水系统。因此,如果您想制作湖泊、海洋和河流等水体,那么我强烈建议您使用此插件。
不幸的是,这些水系统与我试图