Substance Designer中创建汽水罐

介绍

你好,我叫列昂尼德。我是来自莫斯科的自学成才的 3D 艺术家。一开始,我把大部分时间都花在学习硬表面建模和编程上,因为我一直更擅长技术方面,而不是艺术方面。随着时间的推移,我开始意识到我没有给足够的时间来探索纹理创建,并最终开始研究Substance产品。两个程序 – Painter Designer – 都非常适合他们的任务并满足几乎所有艺术家的需求,但对我来说,Substance Designer 更令人兴奋。人们仅使用其工具包就可以完成的事情令人印象深刻。这就是 SD 给我带来的触动——不断发现新事物并找出你能走多远的能力。

学习物质设计师

起初,我很难理解程序材料的制作。尝试学习 Substance Designer 与长时间的休息交替出现,之后我几乎不得不重新学习。但是一年多前,当我的一个朋友提出参加 Polycount 双周挑战时,我开始更经常地参与其中。同时,我在XYZ-School上了一门关于程序材料的在线课程。其他资源也对我有所帮助:来自其他艺术家的教程视频、文章、分类和材料图。庞大的 Substance 社区提供了很多东西,所以不要将自己局限于特定的格式,而是使用所有可用的资源来学习。赞助

汽水罐材质

汽水罐材质

该材料的创作过程始于从导师联盟寻找#nodenovember 挑战的想法。在开始材料之前,我通常会花一点时间练习一些新事物。从 Artstation 上的艺术作品中汲取灵感,我萌生了制作折叠之类的想法,仅供练习。对参考资料的搜索让我看到了包装纸板托盘和汽水罐的图像。对于程序材料来说,这似乎是一个很好的概念,因此我开始收集更多图片以供参考。

首先将生产分解为单独的步骤总是好的做法,因此更容易专注于当前任务。这种材料具有三个主要元素:罐、纸板托盘和包装。我们将分别查看每一个,从简单到更复杂的事情。

制作罐头

第一步是制作罐头。我使用 Shape Extrude 节点制作了一个罐子,我将带有曲线节点的渐变线性 1 传递到其轮廓类型输入中。通过调整曲线的垂直梯度值,我控制了沿其轴的形状比例。这样,我可以创建不同的有趣形状,例如汽水罐。

在处理标签时,我使用了 Text 和 Transformation 节点的简单组合。没什么特别的,我只是输入文本并旋转一些形状以试图找到正确的位置。

只有一件事值得一提。在创建百事可乐和可口可乐标志时,我应用了 Clark Coots 的方法来创建曲线形状。当您需要处理流畅的线条时,他的方法非常有用。我建议您查看他的 Artstation,为 Substance Designer 找到一些更有用的技巧。

为了向罐头添加标签图像,我使用了 Substance Designer 上一个年度版本中的 FloodFill Mapper 节点。它允许您将节点的图案输入中的现有纹理重新映射到洪水填充的每个单元格上。此处 Flood Fill 输入的来源是来自 Tile Generator 的一排罐头。我只使用了两个模式输入,但该节点最多允许您使用八个。FFM 节点可以轻松控制输入图像沿轴的随机位置,使每个图像看起来都是独一无二的。当前标签选择由Distribution Map控制;就我而言,它是一个简单的 Uniform Color 节点。为了控制标签选择,不是使用浮动滑块,而是使用下拉列表,我创建了一个新的空函数,我将当前选择的输入的数量除以启用的输入的最大数量。所以,当我从下拉列表中选择一个项目时,地图的颜色更改为适当的颜色范围。之后,我在 Alpha Merge 节点中结合了高度和颜色信息,以便在主图中使用它。

在我们将一些罐头放入托盘之前,首先,我们将弄清楚如何从单个瓷砖图案生产成排的罐头和纸板托盘。纸板托盘可容纳 24 个罐子,因此内部将交替堆叠六罐和四罐。我决定尝试另一种方法,而不是对不同的行使用 Tile Samplers。我将罐头行的六个变体传递到 Flood Fill Mapper 的 Pattern Inputs 中,它重新映射到 Tile Generator 的每个单元格,代表托盘的行。FFM 节点具有大小模式选项,用于确定每个单元内的图案大小。如果选择“相对于最大形状”,节点将根据最大的单元格设置图案大小。此处它对应于纸板托盘(六个罐)的正面。较小的单元格对应于侧面(四个罐)。所以,

创建纸板托盘

当罐头排准备好后,我开始制作一个纸板托盘。它的形状由与罐头相同的图案决定,因此它们将始终相互对应。

之后,我制作了一个纸板托盘遮罩和几个有助于添加高度变化的节点,控制 Flood Fill Mapper 节点,遮罩托盘的正面或侧面部分等。 由于这部分图表将在整个图表中重复使用,我把它放在其他所有东西之上,以便在整个工作区中建立链接,而不会经常交叉帧。

纸板的质地非常简单。不需要复杂的东西,因为大部分纸板都会被包裹起来。通过高通灰度的Moisture Noise节点混合了大大小小的裂缝,并辅以垂直空腔。我认为它可以变得更简单。产生的噪声稍后将用于制作基色。

纸板的托盘侧面有一个盖子,我想将其添加到我的材料中。为此,我使用了一个非均匀模糊节点。托盘侧面的遮罩对两个输入启用,垂直和水平各向异性模糊,结果使用直方图选择节点选择。然后再使用一个 NNB 节点来模糊封面的下部,以便与基础纸板更好地融合。

但是从前视图也可以看到该盖子。因此,使用各向异性模糊,我水平模糊了托盘正面的蒙版,使用直方图选择作为侧边缘,并从现有高度图中减去了进一步的结果。

创建塑料包装

现在是时候结束一切了。这部分是最有趣和最重要的。为了使包裹透明,我决定只能通过法线和粗糙度贴图才能看到它的存在。罐头本身将主要保留基色,尽管它仍然存在于高度图中。为了创造多层外观,我做了很多不同的折痕,这些折痕跨越了罐子和纸板托盘的区域。它们的整体组合有助于使包装看起来与众不同,但需要大量实验才能获得丰富而平衡的结果。

为了作为包裹的基础,我选择了非均匀模糊节点。它的第一个输入是主高度图 [3]。第二个是来自第一个 Tile Generator 的掩码。结果,我得到了一个高度图 [4],第一个链接指向直方图扫描,第二个链接指向混合节点 [5],在那里它与之前的高度图 [3] 混合。我混合了两个高度图以增加罐头之间黑暗空间的高度值。这样,我在应用各向异性模糊后模仿包裹获得了更好的结果。Anisotropic Blur 节点的模糊值控制包裹的张力。如果值太高,生成的高度图将是平坦的。如果它太低,罐子之间的包装会隐约明显。因此,我需要保持组件之间的平衡,使它们都可见。

添加手孔

在继续之前,我决定在盒子的侧面添加手孔。由于我会在包装纸上产生不同的折痕,因此他们必须考虑这些孔的存在。为此,我可以使用手孔面具来扭曲它们附近的折痕。

在研究了更多参考资料后,我注意到如果包装纸不够密实,那么手孔下方就会形成大的褶皱。我使用阴影节点在手的孔下严格地得到一个面具。然后通过非均匀节点,我用不同的模糊强度水平模糊它。我将具有不同灰度值的蒙版传递到模糊贴图输入中以获得该效果。启用平均模式和四个方向的多方向扭曲节点给人的感觉是面具发散成不同的纤维,这在我的情况下效果很好。我将结果与定向噪声 3 [4] 混合,然后与柏林噪声 [5] 混合,使高度信息不那么均匀。

添加折叠

我不得不对包装折叠进行大量实验。因为它们只存在于粗糙度和法线贴图中,所以它们的可见性高度依赖于光照方向。所以,我做了几个不同的变体,可能比现实中在同一块包装上所能遇到的还要多。因此,平衡褶皱的外观至关重要,这样任何东西都不会分散过多的注意力,从而创造出连贯的外观。

垂直折痕从混合几个折痕节点开始。高通灰度用于调整灰度值。然后应用定向模糊节点以添加更多垂直模糊。然后使用扭曲和斜率节点,我添加多样性并将其与现有高度图混合。

类似地创建水平折痕。我主要使用 Directional Blur、几个 Warp 和 Levels 节点。我想让它们更靠近纸板托盘,这样它们就可以使外观多样化,但不会与垂直折痕重叠太多。遮罩使它们仅出现在托盘的正面。

Tile Generator、Blur 和 Highpass Grayscale 节点的短序列给了我冒泡纸的微妙效果。

中等折痕为托盘的前包装增加了一个很好的多样性。我以与孔折痕相同的方式接近它们。

在盒子的侧面,由于手孔,包装应该有点松散,所以我添加了小水平的折痕,这些折痕位于罐子顶部的中心。然后,我通过 Anisotropic Blur 水平模糊它们,使用 Slope Blur Grayscale 对它们进行膨胀,并与 Perlin Noise 节点混合。

在盒子的前包装上,我添加了小的垂直折叠,靠近罐子的顶部。折叠本身也非常简单 – Tile Generator,垂直模糊的各向异性模糊,罐头上部隔离部分的水平,以及高度变化的柏林噪声。

最后一个图形的框架是沿着托盘前底部延伸的细长折痕。

起初,我添加了条形码图像作为盒子图纸的一部分。但是后来,我注意到在一些参考文献中,它们被放置在包装纸上作为标签。我立即喜欢了这个想法,因为它为整体外观增添了很多变化,与包裹形成对比,尤其是在粗糙度贴图中。他们的图表部分非常简单。大多数部分只有 Text 和 Transformation 节点。为了使每个条码看起来独一无二,我使用渐变映射对其进行了编辑。一旦标签被定位,我使用高度图作为方向输入稍微扭曲它们。

基色和粗糙度

对于纸板的基色,我只将一些噪点与原色混合。纸板上的图像再次由 Flood Fill Mapper 节点定位,其中托盘的框遮罩用作图案分布贴图。

我再一次违反了一些 PBR 规则,为罐子的基色添加了一个内部阴影。为了使它们看起来不那么平坦,这是必要的。虽然包装应该是透明的,但我决定在最密集的折叠处添加一点白色以强调它们。

通过手孔和条形码标签出现的纸板有助于打破包装纸的粗糙度连续性。

定制材料

正如我之前所说,Flood Fill Mapper 节点通过下拉列表控制标签选择。它只需要向节点的输入提供所需的图像以使其出现在罐头上。直方图扫描节点确定纸板托盘的高度。从手孔到条形码标签,几乎所有组件的可用设置都是缩放、位置偏移、旋转、模糊值等。如您所见,所有这些参数都可以在 Substance Designer 中轻松显示。

材料展示

由于包装纸的褶皱外观主要取决于照明,因此我使用了很多聚光灯。更准确地说,有一个共同的光源可以照亮整个场景并设定环境的基调。其他几个小的定向灯照亮包裹的部分。我试图点亮场景,以便它可以在每个纸板托盘上显示折叠的多样性,而不会压倒最终渲染。我对定向光的形状长度做了很多调整,因为它有助于降低它们的强度,保持整体亮度值。

其余的照明设置是非常标准的 Marmoset 设置,带有全局照明、附加阴影、AO 等。

结论

这就是这次崩溃的全部内容。这是一个非常令人兴奋的材料,虽然我在工作时犯了一些错误。例如,罐头看起来仍然很平,条形码标签太白了。但是,这仍然是创作过程的一部分。感谢社区的所有反馈! 

返回首页 

作者 CG-BOX

发表评论