破碎世界:暗黑奇幻材质合集的创作解析

诡异而危险的世界
在选择游戏及其美术风格时,我非常挑剔——要么完全喜欢,要么仅凭封面就彻底跳过。恐怖、黑暗与氛围感通常是我倾向的游戏所具备的特质。最吸引我的是一种既引人探索,同时又令人感到诡异与危险的世界。

对我来说,黑暗幻想的范围很广。它关乎任何略微扭曲现实的事物——它不必是《黑暗之魂》,尽管这个系列主要受其启发。《黑暗之魂》以极简的世界观构建和美学打造了一个在每个角落都合乎逻辑的世界,引发疑问并激发好奇心。我喜欢那种更小区域各有其生物群系、故事、神祇和结构的概念——一个像我们世界一样互联互通、多样性丰富,却又全然不同的世界。
没有蓝图的构建
在《Shattered World》系列中,融贯性并非我预先规划的目标。系列的核心是尽可能汇聚更多不同的元素——这些元素以某种方式产生联系,却不必归属于同一类。我将每个材质都视为某个特定环境下的英雄资产(hero asset),推动每一件作品走向独特。这既满足了我想要达到的技术复杂度,也让每个材质都足够强大,无论在任何场景中都能成为视觉焦点。

这个系列在不断演变。我只有少数几个无论如何都坚持要做的作品——其余的都经过多次迭代,有些则被彻底放弃,转而采用新想法。
为易用性而设计
这里的想法很简单:既然每个材质都旨在扮演英雄资产,我从一开始就知道它的核心身份。例如,如果你拿一个‘普通’岩石材质,通常你会控制它的年代感、表面噪点,以及可能根据它是悬崖还是巨石而决定的一些不同属性。但对于英雄资产,你可以做得更具体。参数应尽可能与材质预期的影响一样受限且简单。以河流侵蚀岩石(Fluvially Eroded Rock)材质为例:我基于三个阶段设计它——干涸的沿海岩石、泻湖和淹没状态——然后只需引导材质在环境推动下如何物理反应以进入每个阶段。对于某些材质,我有更多创作自由,因为黑暗奇幻主题本身就适合进行极端实验。

每个材质都围绕塑造其参数的三个核心要素之一构建:
- 年代(Age) — 这种材质在暴露于其环境、故事及与之互动的生物群系时,是否会随时间产生明显变化?
- 地质(Geology) — 这种材质是否天然以非常不同的形态或变体存在?
- 独特性(Uniqueness) — 这种材质是否足够独特,以至于需要刻意操控或移除某些特定视觉特征?
创作选择与限制
作为签名系列,创意决策几乎总是优先考虑视觉效果——即使在让材质开箱即用所固有的限制内也是如此。

多年从事材质与着色器(shader)艺术家的经历让我明白,在制作中你很少有机会构建完全成熟且多用途的材质。每个项目都有自己的预算、需求和风格,还有更多限制。重要的是要干净地构建,并以一种在需要时可以扩展的方式进行。我不太关注通过暴露参数来实现适应性。对于想要拾取材质并学习技术,或者仅仅即插即用的人来说,通常不需要将易用性置于技术或视觉打磨之上。但总的来说,我的经验通常是由技术解决方案与视觉效果相结合的,但需要清晰的说明。

因此在创作决策方面,这个项目对我来说是全新的。这个系列让我完全展开——制作那些可能在远处效果更好,而不是细节怪物的材质。有些材质与其他材质协同工作,有些则完全独立。有些尺度很小,有些则相当于半幅景观。这种用例与尺度的混合让我多次重新思考方法,经常将材质的显示尺寸改变数米。确保材质能够从一个尺度跨越到另一个尺度——例如在沙质基岩(Sandy Bedrock)材质或黑冰(Black Ice)材质上看到的那种——确实非常有趣。

宝石矿石
宝石矿石材质 是我在这个系列中最喜欢的作品之一——因为我就是喜欢这类材质的复杂性。多种不同材质的层次和体积融合在一起,构成了某种全新的东西。我之前从未成功做出过好的此类材质。依赖纯纹理和置换来处理那些取决于体积属性的材质,可能会很笨拙,甚至带来灾难性结果。

宝石之所以有那种独特的外观,是因为它们的晶体结构以及吸收和散射光的方式。使用无限薄的表面——就像你通常为置换材质所做的那样——会使得几乎不可能依赖体积。因此,你不得不扭曲其他可以近似的物理属性,比如次表面和透射,把它们推到足够远,让结果看起来好像拥有体积,即使实际上并没有。
随着 OpenPBR 引入 Substance 3D 生态系统,你可以非常接近真实的体积近似——并确保在软件之间表现一致。我最初是用这些工具构建材质的,但由于这个系列仍然依赖 Adobe 标准材质,我不得不以更近似的方式重建它。我仍然对结果非常满意:在 Designer 里只做了很少的工作,只放了它需要的核心元素和结构,然后渲染出来正是我想要的效果。
退一步的教训
药剂柜材质 可能是最大的挑战,也是我在这个系列制作过程中学到最多东西的材质。它最初是一个带有书籍生成器的书架,我想在其中使用 SDF 函数——就在它们作为专门的节点环境被引入 Designer 之前。所以我花了数周时间在像素处理器内部构建了一整套 SDF 工具集,之后才在材质的节点图中放置了第一个节点。然后我又决定要自动整理书架上的书籍,这意味着要编写一个基于物理的堆叠算法,让每个实例都靠在上一本书上而不重叠。这反过来又意味着书架本身需要模块化,能够适应书籍数量,并允许留空或加入抽屉。

等到我把所有部分拼在一起时,我已经在纯粹的数学和复杂模拟中沉浸了好几周——而所做出的材质肯定不足以好看,无法证明幕后这种极端复杂度是值得的。依赖一切程序化生成或许能证明你精通软件,但如果你追求的是视觉输出,这绝不是最佳选择。而且,这个材质已经完全不再给我灵感了。所以我抛弃了一切,回归基础:一件由木头制成的家具。
所有人都知道冒充者综合征。我的在这里严重发作了——我觉得自己需要重塑自己,需要证明些什么,但最终这些都没有帮助我达成目标。它只是让我无法专注于艺术本身。
SDF 节点
在 Designer 原生支持 SDF 之前不久,我已经构建了自己的工具集——不过它只是 2D 的,所以缺少一些功能。对于 符文锁链石材质 中的链条,我想利用 SDF 生成的出色法线。不过我很快遇到了一个问题:Shape Splatter v2——SDF 系统的核心节点——并不原生支持每个实例的变化。这意味着我无法在每次迭代中让某个轴旋转 90 度,而这正是避免交叉并保持真实感所需要的。无论是由于技术限制还是我对系统不够熟悉,都无法将散射数据传递到旋转函数。我最终留下了一个巨大的节点和漫长的计算时间,只为生成一个链条段,而我至少需要两段,理想情况下要三四段,才能产生有机变化。

解决方案来自 SDF Viewer 节点,据我所知,它是进入 Shape Splatter 之前测试函数的预阶段。它可以调试你的 SDF 函数——包围盒体积、位置、深度等。我用这个调试器来塑造深度输出,调整包围盒,直到链段居中并自动水平。禁用所有叠加层后,我得到了以渐变编码的深度输出,再进行一次 16 位灰度转换,就能以大约百分之一的计算时间得到链条高度,而且 UV 覆盖更好。

从那里创建变化就简单了:我可以根据需要调整旋转范围。为了把链段连接成链条,我决定不使用样条线——它们计算太重,而且难以作为参数操作——而是自己在 FX-Map 里编写了绳索函数。我可以定义起点和终点,让函数处理重力和悬挂物理。
回归原点
回顾过去,有些地方我会采用不同的做法——而且我会对任何说自己没有同感的人表示不屑。我并不是说你总该追求完美,但反思自己的步骤,并决定哪些地方会采用不同做法,这对成长至关重要。
在这里,这种反思与其说是关于用不同方式做事,不如说是我在项目中途获得的洞见。我想制作的很多材质都让我卡在执行某些细节上。我发现自己研究那些我钦佩的艺术家的作品,在参考阶段花费的时间可能比以往任何时候都多。有几个想法被放弃了,因为我无法按设想在视觉上呈现它们。

它还让我看清了某些我心底里已经盘旋已久的事情。我对材质创作的热情已不如从前,而这一直阻碍着我。我开始把这个系列称为我的盛大终章——当我意识到我可以最后一次以卓越的水准完成它,然后转向我真正更向往的领域时,我的动力回来了。
从某种意义上说,《Shattered World Signature Collection》让我回到了原点。当我看到第一个 Signature Collection——Daniel Thiger 的——时,我只想和妻子说,总有一天我要拥有自己的系列。那时我甚至还没有作品集,还在想方设法要如何创作自己的 Signature Collection。现在,这个系列为我画上了一个章节的句号,感觉是真正的成就。
Shattered World Signature Collection,作者 Kai Mergener,现已在 Substance 3D Assets 上架。
相关链接
原文链接:https://80.lv/articles/build-eerie-worlds-with-this-dark-fantasy-signature-collection
喜欢这篇内容吗?