Rebecca El Cheikh在Substance 3D Designer中创建了一个新的生成器,并与我们分享了制作过程。
1
介绍
大家好,我叫Rebecca El Cheikh。我是一名黎巴嫩环境艺术家,过去几年一直在法国学习生活。艺术和科学一直是我的爱好,所以我首先选择了计算机科学和计算机图形学专业,然后在一家后期制作公司工作了3年,开始了我的广告生涯。在我的职业生涯中,我一直从事个人项目,以便日后能够转入游戏行业。移居欧洲后,我参与了一个名为"Along the Rift "的项目,后来在Don't Nod Entertainment实习期间,我作为环境艺术家获得了宝贵的经验,特别是在《新伊甸园幽灵》的工作。
说到掌握材质艺术的诀窍,开始学习Substance 3D Designer并不难。有了大量的教程,你就可以学习它的基础知识,并开始将它应用到你的项目中。
考虑到艺术家们所做的令人难以置信的项目,很容易获得灵感并选择一个主题开始学习。与任何事情一样,实践是成功的关键。有很多适合任何水平的教程,艺术家们展示和解释了很多思维过程。我就是通过练习和在自己的项目中应用不同的技术来学习Substance 3D Designer的。在实践中,它变得越来越自然。我目前使用Substance 3D Designer和Substance 3D Painter制作纹理。
2
程序化马赛克生成器的构想
我在黎巴嫩读本科期间,第一次看到的生成器是Daniel Thiger的轮胎生成器。在我的记忆中,它是使用Substance 3D Designer最得心应手的方法之一。我第一次在Substance 3D Designer上制作程序过滤器/工具是在近两年前的Along the Rift期间。虽然很基础,但当时我还是制作了一个程序化笔触滤镜。我非常喜欢它,所以直接计划了未来更复杂的项目,比如刺绣和马赛克生成器。在Substance 3D Designer上创建马赛克在我看来一直是一项乏味的工作,因此我想找到一种解决方案。下面是生成器的预览:
3
在Substance 3D Designer中设置生成器
首先,在开始任何项目时,我都会集思广益并收集参考资料。重要的是要有一个项目的基准和计划,并且总是先从大处着眼,然后再处理小细节。马赛克生成器的主要功能是遵循任何给定图像的轮廓。如果我能为这些瓷砖创建一个Alpha贴图,那么其他部分就能顺利跟进。仅这一项功能就会带来不同的问题,例如我如何确定瓷砖将遵循哪些形状?瓷砖如何遵循特定的方向?我是否需要将它们分开,或单独制作每个形状,以及如何制作?
4
按照形状的曲线创建条纹状瓷砖
我是在添加新的"路径"和"样条"节点几周前开始这个项目的。因此,我决定先弄清楚瓷砖如何跟随形状。现在,我使用一个简单的正方形来展示我是如何制作出可以遵循任何给定形状的瓷砖的。
定的形状生成条纹,然后在这些条纹上减去一系列垂直的长条图案,如下所示:
首先,我通过斜面节点运行原始形状。然后,我总共使用了16个混合在一起的直方图扫描节点来提取用于创建条纹和长垂直图案的线条。然后,我就可以覆盖用户可以输入的最大形状,即扁平正方形。
根据所创建的图像,使用边缘检测和Substance 3D Designer的新路径/样条线工具中的垂直形状实现了条纹。第一步是使用"蒙板到路径"从可见线条生成路径。然后,使用"路径到样条曲线"转换路径,以便进一步处理。最后,使用"Scatter on Spline Grayscale"在样条上添加图案,这与"Tile Sampler"或"Scatter Circular"中的功能类似。不过,在这种情况下,图案会跟随给定样条的位置和旋转而变化。
此过程产生的图形如下:
需要注意的是,由于马赛克瓷砖可以任意旋转,因此垂直形状必须比条纹长,这样才能覆盖整个区域。为了避免重叠,我最后做了两次,一次是原形状,另一次是稍小的正方形(通过减去边缘检测)。
这可能是项目中最难的部分。如前所述,在实施此项目时,Substance 3D Designer的更新尚未发布,因此我试图找到一种方法来制作类似的输出。最后,我采用边缘检测创建了一条非常细的线,并将其用作100x100 垂直图案的瓦片采样器的遮罩。结果很糟糕,垂直图案有的地方是空的,有的地方却很密集。也许还能用,但更新来得正是时候,所以我采用了更好的方案。
5
从任意给定图片中提取形状
现在,生成一个形状的马赛克已经完成,是时候找到一种从图片中创建形状的方法了。我发现最优化的方法是使用节点"Lighting Cancel Low Frequencies",这种方法几乎适用于所有图片。这个过程并不总能分离出所有的形状,但大部分线条都是可见的,因此马赛克可以尽可能接近其轮廓。我只需使用处理器提取背景颜色,然后使用 "替换颜色范围 "将其更改为黑色。这样,我就得到了给定输入的黑白轮廓。
现在,提取轮廓的过程看起来就像这样,各个形状清晰分明:
6
从轮廓图像中分离出单个形状
这是我所做的最昂贵的工序,但我仍然认为有必要这样做。假设轮廓很薄,如果我同时在所有形状上制作马赛克,垂直图案很有可能会与不同形状的条纹相交。虽然这种方法在少数情况下可能行得通,但我觉得最好还是在单个形状上进行,这样效果会更干净、更安全。我仍然不确定这是否是最明智的决定,因为这是迄今为止最不优化的方法,因为它将2k纹理的计算时间从15秒增加到了一分钟多一点。我尝试使用"切换灰度",这样Substance 3D Designer就不会计算空形状输入,但不幸的是,它仍然会计算 "真 "和 "假 "输入,这使得它在优化方面毫无用处。
在这一阶段,事实证明"Flood Fill to Index"节点非常方便实用。使用该节点有两大优势。首先,通过设置"忽略小于0.1的形状"选项,我们可以防止马赛克创建节点应用于这些较小的形状,从而避免生成黑色图像。其次,该节点既能输出检测到的形状数量,也能输出与每个形状相关的唯一值。这样,我们就可以使用像素处理器节点提取特定的形状,从而进行进一步的操作和控制。
Flood Fill to Index到灰度索引"根据检测到的形状数量简单除以1来分配灰度值。例如,如果有3个形状,灰度值将分别为1、0.666和0.333。
另一方面,"像素处理器"节点会执行以下操作:检索与指定形状数量相对应的值,扫描图像以查找具有该值的像素,并将这些像素输出为白色。其余像素乘以0,显示为黑色。这一过程有效地隔离并突出了所需的形状,同时使图像的其他部分变暗。
现在的整体流程是这样的
经过测试,我重复了32次独特形状提取过程。考虑到我决定最后平均使用64x64的马赛克瓷砖,这个数量是确保处理最需要的形状数量的最安全方法。如果小于0.1的图形在全部分离之前就被移除,那么最坏的情况是大约有 12 个图形没有被处理。无论如何,这些缝隙会在稍后被填补(在下一节中解释),而且马赛克看起来仍然清晰,生成马赛克所需的时间也更短。
7
填补空白
如果输入的图像中存在大量小于0.1的聚类图形,或者存在大面积的黑点,那么到目前为止所生成的马赛克alpha图就会有空白区域。因此,在倒置的alpha贴图上再次执行这一程序对于处理这种情况至关重要。虽然这在下面的情况中并不那么重要,但生成器应该涵盖所有可能的情况,即使计算所有内容需要额外的时间。
8
处理小于0,1的图形
我制作了一个螺旋状的马赛克图案,与太小而无法变成马赛克的形状混合在一起。由于它们并不显眼,用户通常不会注意到网状图案。最后,当所有图案合并后,再次使用"Flood Fill to Index"来去除小于0.02的点状图案。
9
创建马赛克材质
马赛克alpha最终完成后,剩下的就是创建马赛克材质和美化输出了。我通过模糊和直方图扫描将瓷砖变大,用斜率模糊为边缘添加变化,并减去泛色填充渐变以打破其线性。
唯一棘手的部分是给瓷砖上色。马赛克瓷砖通常只有一种颜色,而我使用的瓷砖采样器/生成器通常无法完成这项工作。为了解决这个问题,我对每块瓷砖进行了模糊处理,并在翘曲和斜坡模糊中使用了alpha,从而创建了每块瓷砖的径向渐变。颜色会被挤出,而污垢则会取代瓷砖之间的颜色。
10
设置最终渲染
有了Marmoset工具包,你可以高效地创建一个光线充足的场景,并随着进度快速更新。我有3个预设的材质渲染文件,可以随时使用和测试我创建的任何材质:球体、圆柱体和平面。我只需根据材质的颜色和反射率,在"灯光"中改变亮度和颜色。我总是有一个强烈的定向光基底(右上角),一个强烈的边缘光在后面,还有两个冷/暖区域光以形成良好的对比。
11
最后的话和建议
如前所述,练习是提高 Substance 3D Designer水平的关键。无论是通过教程还是研究不同的项目,实践都是真正掌握这款软件的唯一途径。这个时间表并不存在,而且因人而异,但只要多加练习,就会自然而然地掌握。
我在Facebook和Discord上加入了一些与Substance 3D Designer相关的群组,观看了大量教程,并一直努力学习其他人在项目中的做法。Facebook上的Inside the Node群组可能是我最喜欢的地方,也是它促使我更深入地学习Substance 3D Designer的像素处理器和FX-Map节点。它对这个项目至关重要,将我的知识和程序逻辑提升到了另一个层次,并在此过程中完成了这个项目的创作。
虽然这更多的是Substance 3D Designer的基础知识,不一定总能用在材质上,但掌握这些基础知识还是很有帮助的。老实说,掌握这个程序是一个漫长的过程,我还没有完成,但这是我目前能给你的建议!
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved