欢迎光临散文网 会员登陆 & 注册

Daniel Cormino 制作《CrashSite》场景环境【上】

2022-04-28 22:02 作者:CGStaion  | 我要投稿

【由于该图文分解过长,分成上、中、下三篇文章,便于提升阅读体验】

Daniel Cormino 正在研究一个我现在称之为“CrashSite”的作品集。我将在此博客中尽可能多地描述我实现最终结果的过程。我的目标是记录我正在使用的技术以及我正在做出的选择的推理,无论是为了未来的我自己还是任何感兴趣的人。

我正在创建的这个场景将在 Unreal 引擎上实时渲染,我的目标是达到可用于虚拟制作和 4k 分辨率的第一人称游戏的质量水平(是的,相当大的挑战)。

我工作的每个项目的第一步都是选择参考资料。我问自己:“我想用这个展示什么?有什么我想学习或发展的新技术吗?它的风格是什么?(例如,照片般逼真,风格化)”

通过这个项目,我想证明我能够为 4k 分辨率或非常近的摄像机角度制作逼真的环境。最初我并没有计划学习或开发任何新东西,只是加强我的技能,但后来我改变了主意(将在以后的帖子中讨论)。

考虑到这一点,我在互联网上进行了广泛搜索,以找到适合我目标的概念。我收集了大约 5 个我最感兴趣的概念图,我和很多朋友讨论了这些图像并询问了他们的意见。我认为始终获得有关项目所有步骤的反馈很重要,特别是如果它是个人作品,因为您不会有同事来查看它。

我最终的选择是 Michael Xu 的这个概念:

https://www.artstation.com/artwork/oAkPem

我的推理是,场景的整体想法非常有趣,一架坠落的飞机变成了某种据点或家园。剪影也很有趣,颜色,材料。我可以用风化的材料很好地展示我的纹理技巧。我可以在通用对象上使用一些预制资产。没有风景,所以我在这方面有自由。我可以在建筑的某些部分使用模块化资产。最重要的是,我莫名地被这个概念所吸引,非常想把它变成 3d。我认为你想做这件事是非常非常重要的。

虽然我通常在我的商业项目中设计环境和景观,但这不是我的目标,所以我开始寻找背景的参考。我做了同样的过程来收集一些我喜欢并展示给朋友的图像。

我最终的选择是 Raphael Lacoste 的这个概念:

https://www.artstation.com/artwork/gQAQZ

我选择的理由是我喜欢图像的整体构图、悬崖、岩石和水。我不想包括寺庙或前景,甚至试图忠实于原始图像。而且,我认为这些图像看起来很好:

顺便说一句,我将飞机添加到我收集的每个背景中,并将这两个图像一起展示给我的朋友。如果你的场景有不同的来源,我认为一起测试是很重要的。

我已经确定了概念艺术参考,所以我想在引擎中检查形状和类似的东西。 我做的第一件事是制作一个非常基本的平面遮挡并将其带入虚幻引擎进行定位。 在这一点上,我的目标是检查比例和深度,尽可能快地检查这个想法是否在 3d 中运行良好。 然后我开始在发动机内部添加气缸和盒子以获得某种预搭建。 结果是这样的:

我还不想跳入 3ds max,因为我发现 Unreal 更快地迭代定位和缩放。参考没有任何人,所以我根据门和车辆的比例。顺便说一句,这辆车是由 https://sketchfab.com/quaz30 制造的。我选择不从头开始创建车辆,因为它太复杂而且它只是场景的一部分,而不是主要焦点。

准备好“pre-blockout”并整理好整体比例后,我在 Unreal 中合并网格并将其导出到 fbx,用作 Max 中的起点。这个场景相当大,所以我分了很多步骤进行了遮挡,检查了虚幻内部并将截图与概念艺术进行了比较。我不想在某个地方建模某些东西,然后发现它是错误的,因为其他地方也有错误。我还开始用一些 Megascans 资产遮挡背景,放置一些材料并进行简单的照明设置。

这是最初的搭建,只有最大的形状和一些基本的颜色和氛围:

之后,我开始屏蔽所有内容并放置一些我拥有的预制小资产(主要是占位符)。

但是如何将 3d 图像与概念艺术进行比较?

这总是有点棘手,但我设置了一个固定相机并尝试匹配与概念艺术中相同的焦距。如果概念艺术家没有使用 3d 模型作为基础,焦距将是虚构的,实际上我发现了一些与视角不一致的地方(编辑:我发现的“不一致”可能是我自己观察的限制,因为后来我发现艺术家使用 3d 模型作为基础)。这对我来说不是问题,我已经从事虚拟制作一段时间了,你会惊讶于我们在透视和对象放置方面“作弊”以获得所需的外观,即使它不可能存在现实中!不过,这里没有“作弊”,即使我的目标是一个摄像机角度,我仍然希望能够从其他 POV 中看到它。

然后我截取屏幕截图并将其覆盖在 Photoshop 中的概念艺术上。

这是我做的最后一次“大图”比较,之后我开始只比较场景的一小部分以获得更好的准确性。最后我没有得到一个精确的 1:1 匹配图像,但它对我来说足够接近,我继续前进。我认为迭代地完成这部分过程非常重要,有时我检查一个部分并发现另一个错误,因为我不断在 3d 场景、概念艺术和比较之间来回切换。

在整个搭建期间,我总是回到某个部分或另一个部分来修复我以前没有注意到的东西,因为场景如此之大,有时很难不让任何错误通过。我没有直接比较颜色,因为我想要在 3d 引擎中感觉最好的东西,但我尽量保持忠实。

我用我在这个过程中拍摄的一些截图制作了一个 gif,然后发现我不能在这里上传它所以我制作了这个图像网格:

也许你会注意到我从场景左下角的屏幕开始,然后在这个过程中向上和向右移动。我认为有一个清晰的“方向”你想要处理场景很重要,它不需要是一条直线,但最好有一个非常清晰的逻辑,你以后不会混淆。另一个提示,来自 Matthias Develtere,当你有一个所有东西都连接在一起的大场景时,最好先做一些小细节,这有助于更容易地匹配更大的形状比例。他在他为 Wolfenstein 的 APC 模型的细分中说过,不幸的是我无法在此处链接它,因为他使它不再可用。

在为景观添加更多细节之后,这是最初搭建的最后阶段:

除了飞机机头的小内部区域外,我已经完成了初始搭建阶段。在这一点上,我可以自由地以我想要的任何顺序开始详细描述场景!在完成飞机模型之前,我不想启动“机头车库”。

现场有这么多细节,如何避免迷路?

首先,我将场景的细节分为 4 类:主要形状、次要形状、三次形状和电缆/电线。这不是一成不变的规则,每个项目都有不同的需求。例如,这个有一个电线类别,这是我第一次这样做,因为它有多少电线以及它们的分布范围。有时,在两个阶段之间,我会检查这张图片,看看我是否没有忘记任何东西。我认为当它们以非常清晰的方式分类时,检查起来会更容易。

第二件事是我为我从事的每个项目做的事情,一个电子表格!我不会发布它的屏幕截图,因为它没有视觉价值,我只是在列上创建所有资产或资产组的列表,然后在下一列中写下状态或一些评论。我不会一直保持这个文件打开,不断地更新它,我只是不时检查它,当我认为我可能忘记了一些东西并在我完成一个阶段时更新它。顺便说一句,它很丑,我没有努力让它变得愉快。

当我在细化一个大场景时(并且没有主管设置优先级),我通常只是按照我觉得对我来说最愉快的顺序来做事。我认为尊重自己而不是强迫我们做我们目前不想做的事情是件好事。特别是当我们谈论个人项目时,保持动力和兴奋是很重要的。当然,这不可能一直存在。

至此,我已经完成了初始搭建,可以开始详细说明资产。我想让场景的许多部分都带有可以近距离看到的细节。我必须想出一个解决方案,以便在尽可能短的时间内以我能达到的最佳质量生产所有东西。

我尝试了一些技巧,在场景中使用了一个简单但尺寸相当大的资产,即机翼下方的“梯子”。

我收集了许多沙漠中木头的图像,主要是柱子和楼梯。我使用 Pureref 进行参考收集。我不会谈论太多,只是尝试从正确的上下文中获取参考。

我的目标是开发一个可用于场景中所有类似部件(木支架、桁架等)的工作流程。网片的木片需要弯曲,轮廓更自然,末端不能直。我在参考文献中观察到了这一点。最后,这是我开发的过程:

初始搭建已经是一个很好的起点,所以我开始添加一些分区,让失真变得有趣。在 Max 中,我只是对网格进行了细分并添加了一些边缘循环。

我在堆栈中添加了一个噪声修改器,设置是针对小规模的,所以变形会是形状上的一些缺陷,特别是在技巧上。我总是试着去思考不同种类的细节,最重要的是我把它们分成:小、中、大。我认为改变细节的规模很重要。

我在堆栈中添加了第二个噪声修改器,这是大规模噪声。这会使整个网格平滑变形并模拟弯曲,使木材整体不那么直。

事实证明,这两个修饰符一起提供了足够的变化,使作品感觉自然。对我来说,它仍然觉得一切都很有规律,没有破损,也没有轮廓凹痕和孔洞。更多关于这进一步下降。

最后,我添加了面部加权斜角并将网格 UV 处理为独特的。它的 UV 完全在 0-1 空间内,没有任何重叠,目标是稍后在材质上使用烘焙蒙版。我还尝试在场景中使用具有通用纹理密度的 UV0 来重用材质,并为蒙版使用 UV1,它最终比仅仅创建一个材质的新实例并为每个资产的纹理密度设置特定的平铺更麻烦。

结果有足够的变化,看起来很自然,但所有的碎片看起来都太完整了,没有任何破损,剪影上没有凹痕和孔洞。我为自己保存了一个带有反馈的注释,所以如果我以后有时间(如果它会使场景变得更好),我可以回到这个并确切地知道该怎么做。

该图像已经具有我稍后创建的材料的最终结果。这是虚幻中的平面着色:

此时我可以开始为资产创建材质。

正如我之前所说,我对这个项目的一个目标是用 4k 渲染它,并且即使在第一人称相机中仍然非常详细。考虑到这一点,我测试了一些技术并得出结论,我需要使用平铺纹理和蒙版来制作我想要包含在作品中的各种细节。我决定使用虚幻的分层材质系统,这让我可以摆脱材质节点和意大利面条的困扰,专注于艺术方面。如果您不熟悉此系统,请观看此视频 https://youtu.be/I9w9sT1doRc(由 Ryan Manning 提供)。

在我第一次尝试使用该系统时,我只是想确保我知道发生了什么,以及工作流程与在其他软件上使用图层有多接近。所以我跳进了 Substance Painter 并很快制作了一些蒙版,我为每个通道创建了一个带有单独蒙版的图像:一个边缘蒙版、一个 AO 蒙版和一个向上矢量蒙版。

在此图像中:第一帧只有基础材料;第二帧有边缘损坏;第三有污渍;第四,表面有沙子。

在这一点上,我非常有信心这个工作流程会很好地工作,所以我开始对其进行更多改进。我在 Unreal 和 Painter 之间来回切换,我会对蒙版进行一些编辑,然后调整材质层。当我对最终的外观感到满意时,这就是工作流程:

对于红色通道,我创建了一个边缘损坏蒙版,这将是大部分位于凸角并且有碎屑和碎屑脱落的部分。我使用了一个曲率蒙版,对级别进行了一些调整,并在顶部使用了一些垃圾蒙版来增加变化。

对于绿色通道,我为可能有污垢的部分创建了一个蒙版,主要是暴露较少的部分和会积聚污垢的凹角。我使用 AO 和厚度蒙版来突出这些部分,然后在顶部添加一些垃圾纹理以进行变化。

蓝色通道是沙子堆积的地方,因为场景是在沙漠中。我使用世界空间法线贴图来突出指向上方的表面,并在顶部添加垃圾纹理以进行变化。

这个蒙版纹理有很多细节和变化,看起来很自然,可以在低分辨率下使用,但如果我只是在 Unreal 中按原样使用它,它会在图层过渡上看起来很模糊。所以我用一个tiling mask做了一些数学魔术,使这些过渡更清晰,而不会丢失近距离细节:

左:它自己的 1024 像素蒙版。右图:带有平铺蒙版的烘焙蒙版。

基础层,“背景”只是一个木质纹理:

然后我在顶部添加一些边缘损坏:它是相同的纹理,但更亮且饱和度更低,仅影响基色和粗糙度。

我也添加了一些污垢:只是一种单一的颜色,它只影响基色。

最重要的是,我添加了一个颜色变化层。这只会影响底色,纹理是一张生锈的金属板的照片,上面有许多污渍和颜色。它为这件作品增添了非常自然的外观:

在这一点上,材料对我来说已经足够好了,但我也想在表面上添加一些沙子:我对沙子层并不完全满意,但如果有必要,我稍后会回来。


如您所见,近距离观察时,这种材料非常牢固。现在我想添加一些钉子来固定这些木板,但如果可以的话,以后再做。

这个工作流程的另一个非常好的方面是我可以很容易地创建这种材料的变体。我只需要复制材质实例并以我需要的任何方式对其进行编辑。这里有 3 种变体,一种较暗,一种我在上面展示的,另一种带有一些油漆飞溅。黄色油漆飞溅非常适合在不破坏沉浸感的情况下突出显示游戏世界中的对象。

使用像这样的分层材质会附带很多着色器说明,因此如果您只使用必要的材质,请务必留意。我在我的图层和混合资产上有选项来禁用对特定属性(例如基色、粗糙度、法线等)的计算,这样我可以避免计算不会影响材质外观的东西。有时这些图层只适用于一个纹理贴图,甚至只适用于纯色。后来,当我在处理其他资产时,我为这些层可以做的事情添加了更多种类。在以后的文章中,我将讨论更复杂的材料。

此工作流程的另一个非常好的方面是大多数纹理可在许多材质上重复使用,因此我们不需要为每个单独的资产创建许多具有高分辨率的烘焙纹理。唯一独特的纹理贴图是网格蒙版,用于边缘和空腔之类的东西;并且这些总是在低分辨率下(这个测试资源使用 1024px 纹理,但场景中的大多数资源使用 256px 蒙版纹理)。

在这一点上,我已经测试了工作流程,并且非常有信心它会在这个场景和未来的项目中运行良好。我没有从虚空中想出这些想法,我已经看到类似的技术被用于诸如 The Order: 1886、战神和最近的生化危机村等游戏中。最后一个是关于复杂材料可以实现什么的灵感来源,也是他们能够在环境中打包的细节量的一个很好的参考。


Daniel Cormino 制作《CrashSite》场景环境【上】的评论 (共 条)

分享到微博请遵守国家法律