场景渲染:三台悬挂着的老式 Crt 电视机,屏幕上分别显示人物肖像与卡通画面,画面由颗粒状像素单元格构成

引言

大家好!我叫 Anatolii Marin,是一名材质艺术家。我对电子游戏的热爱始于 1987 年的《ELITE》——没错,我年纪不小了!很多年里,做自己喜欢玩的那些游戏,对我来说就像魔法一样。

2021 年,我在 YouTube 上看到 Javier Perez 的一个视频,他演示了在 Substance 3D Designer 里怎么制作材质。它给我的冲击太大了,以至于 40 岁那年,我决定开始学 3D。从那以后,主业之外的所有空闲时间我都花在这上面。做到贴图阶段时,我意识到自己只想专注做纹理与材质。

2022 年,我受邀到一所 3D 学校做导师,帮学生看作业、和他们一起做贴图。同时我也在学习游戏模型与环境的完整流程。2023 年,我进入 Keywords Studios Sperasoft Serbia,在一个大型 AAA 项目里担任 3D 与材质艺术家。

我的工作包括做贴图、材质、生成器,有时也做环境模型。当然,我的主力工具是 Substance 3D Designer。为团队做材质、贴图、trim 和工具,特别有意思。每个任务都是一次挑战,也是一段我们一起经历的冒险。

缘起:CRT 电视屏幕材质

做电视屏幕材质的念头,来自我在社交媒体上看到的一个短片——一位艺术家演示了 Unreal Engine 里 shader 的运作方式。我很好奇:能不能在 Substance 3D Designer 里做出一套 CRT 电视材质?

参考图:两台摆放在深色背景前的老式彩色电视机,屏幕上显示人脸照片

这个想法在我脑子里转了好几周,我试过不同的思路。转机出现在我读了一篇讲老式彩色电视工作原理的文章之后。

把图像拆成 RGB

简单说,我试着在材质内部去演绎光学的基本规律。老式 CRT 有一格格很小的单元(槽)。屏幕上的彩色图像,是靠把这些单元分成三部分——三种颜色(红、绿、蓝)形成的。这三种颜色的亮度组合起来,就制造出单一颜色的错觉。

示意图:红、绿、蓝三色竖条交替排列的网格,对应 Crt 荫罩把一个像素拆成三色的结构

我的任务,是把 Substance 3D Designer 里的一张彩色图像拆成三部分(RGB),再按彩色 CRT 加孔径遮罩(aperture mask)的原理,把它们重新组合起来。

三台电视机并排显示同一张卡通画面,用于对比不同分辨率下的 Crt 显像效果

Substance 3D Designer 工作流

在 Substance 3D Designer 里有个叫 RGBA Split 的节点,可以把彩色图像拆成各个通道。

Substance 3D Designer 节点图:把彩色图像接入 Rgba Split 节点拆分通道,左侧是待处理的图片资源

做出 CRT 孔径遮罩的一个单元格之后,我用 Tile Sampler Greyscale 节点把它平铺复制。

Substance 3D Designer 界面:左侧是三个白色椭圆组成的单格孔径遮罩,右侧节点图用 Tile Sampler Greyscale 把它平铺

接着用 Blend 节点,把三个通道的强度遮罩与平铺后的单元混合。

Substance 3D Designer 节点图:用 Blend 节点把三个通道的强度遮罩与平铺的像素单元混合

把结果染上对应的颜色之后,我用遮罩把它们合并到一起。

Substance 3D Designer 节点图:为三路结果分别着色后,再用遮罩合并成完整画面

现在你可以看到,基努·里维斯(Keanu Reeves)的图像变成了「格子化」的,就像我们在一块老电视的屏幕上看到的那样。

Substance 3D Designer 界面:一张人物特写被拆分成若干通道条,配合节点图预览「格子化」后的效果

材质设置:分辨率控制

材质的设置里有一个主要参数——横向与纵向的单元数量。当你在 Substance 3D PAInter 里使用这套材质时,这个参数能以 64 像素为步进,调整 CRT 画面的「画质」。

Substance 3D Painter 界面:把 Crt 电视材质应用在电视模型上,屏幕呈现蓝色画面,右侧是参数面板

我把这套材质放在自己的 ARTStation 页面上免费分享。它不只能在我最爱的 Substance 3D Designer 里用,也能在 Substance 3D Painter 里用。

Substance 3D Designer 界面:节点图旁显示材质参数,用于调整横向与纵向的单元格数量
材质预览网格:同一张人像在 16 种单元格分辨率下的显示效果,右下角是模型贴图预览

摩尔纹与真实感

到最后,做出带所需效果的材质,比我预想的要容易。不过它依然不只需要软件技巧,还得有点中学物理的底子。

在我看来,最难的还是让材质看起来真实。我想呈现出摩尔纹——那种在老式彩色 CRT 屏幕上、当单元彼此靠得很近时能看到的波纹与波浪线。

材质里的摩尔纹效果是自己出现的,因为大量细小、相似的形状被紧挨着摆在一起。之所以会这样,是因为我遵循的是 CRT 真实的运作原理。

结语

总的来说,做任何材质都不只需要美术技巧,也要一些基础的科学知识,有时甚至是生活经验。正是这些不同技能的组合,让我能做出很多类型的材质。

对刚开始学 Substance 3D Designer、或者还在犹豫的艺术家,我想说:到目前为止,我还没找到比它更好、也更容易理解的软件。你在它上面花的时间会有回报——你只需要先开始。

最终渲染:一台老式电视机立在深色背景中,屏幕上显示红色螺旋与「Thanks For Watching!」字样,画面带有 Crt 特有的摩尔纹

祝所有艺术家都能找到自己真正享受的工作领域。

更多程序化材质的玩法可以查看本站 案例教程 分类;

想了解这套节点流程所在的软件版本,可以参考 Substance 3D Designer 16.0 发布:3D 散布 + SDF 建模 + OpenPBR,同样从原理出发的材质拆解还有 小熊软糖材质:Substance 3D Designer 的 SDF 流程。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。