Matter
一张用程序化方式搭建 PBR 材质的节点图:不受分辨率限制、可反复调整,并能导出为一整套贴图。
一句话概括#
把程序化节点连接起来,另一端就会得到一份完整的 PBR 材质:基础色、粗糙度、 金属度、法线、高度、AO 和自发光,分辨率随你需要。
界面布局#

| 菜单栏 | File · Edit · Graph · View · Help · Plugins |
| 图页签 | 每个页签一份材质,+ 用于新建 |
| 工具栏 | 选择、平移、缩放、适应窗口、添加节点、连接、取景、撤销/重做、网格 |
| 左侧 | 可搜索的节点库 |
| 中央 | 节点图 |
| 右侧 | 所选节点的属性 |
| 左下 | 2D 预览,每个 PBR 通道一个页签 |
| 右下 | 3D 预览 |
你可以做什么#
搭建节点图#

从库里把一个节点拖进来,或者从工具栏添加,再把Output → Input连接起来。 每个节点都在自己的节点体上预览自己,所以整张节点图同时也是一张接触表: 不用选中它,也能看出每一步做了什么。
节点库是分组的:
| Color | Color · Gradient · Bitmap(加载 PNG/JPEG)· Uniform Color · SVG |
| Noise | Noise(Perlin / fractal)· Clouds(fractal sum abs)· Anisotropic Noise · Grunge Map · White Noise · Blue Noise |
| Patterns | Checkerboard · Wood Rings · Shape · …… |
| Filters, adjustments and utilities | 色阶、混合、模糊、由高度生成法线,以及其余功能 |
| Output | 每个 PBR 通道各一个 |
Recent把你最近用过的节点放在最上面,而这通常就是你最常要用的那些。
路由到通道#
一个Output节点就是一个 PBR 通道目标:把它的Channel设为
baseColor、roughness、metallic、normal、height、ao 或
emissive。当你关心的每一个通道都有一个 Output 节点在给它供给数据时,这份
材质就算完成了。
调整一个节点#
属性面板给每个节点提供它的基本参数、它的函数绑定(由表达式而不是 常量驱动的参数),以及它的分辨率模式:默认是Inherit,所以在节点图 层级改一次,整份材质就会以新的尺寸重新渲染。它还会报告该节点的上次求值 耗时,这是你在一张卡顿的节点图里找出昂贵步骤的办法。
Save to library能把一个节点,或者你搭好的一个子图,变成可以复用的东西。
查看结果#

2D 预览一次显示一个通道,带缩放和直方图。3D 预览把材质渲染在一个 mesh 上:球体、立方体、圆柱体、圆环体、平面,或者你自己的 mesh。选择一个 环境(HDRI Studio、Soft、Warm、Sky,或者 Studio / Outdoor / Sunset 预设), 设置细分和边缘,并把 UV 平铺为 1×、2× 或 4×,以检查材质是否真的能无缝 重复。
右侧面板,五个页签#
| 页签 | |
|---|---|
| Properties | 所选节点的参数 |
| Parameters | 节点图的暴露参数:材质提供给使用者、而不是提供给搭建者的旋钮 |
| Graph | 节点图层级的设置 |
| Variants | 来自同一张节点图的多个材质版本 |
| Library | 节点和预设库 |

第六个页签,Material Scan,只在一次扫描会话进行中时出现。
暴露参数#
一份带有暴露参数的材质,不再是一张固定的贴图,而是变成一块控制面板: 锈蚀程度、木板宽度、磨损。这正是让一张节点图能服务一整套素材的原因,也是 应该在 Matter 里搭建、而不是只画一次结果的原因。
Material Scan#
一张真实表面的照片,在这里会变成一份材质,而由于这次采集可以被重新发布, 它有属于自己的一章。
节点库,用数字说话#
两百零三个节点,分在二十三个类别里。这份清单的形状说明了 Matter 是什么:

| 分类 | 分类 | ||
|---|---|---|---|
| filters | 44 | blur | 6 |
| generators | 34 | transform | 6 |
| utility | 22 | graph | 6 |
| adjustments | 18 | colour | 5 |
| pattern | 16 | bake | 5 |
| effects | 9 | normal | 4 |
| noise | 6 | analysis | 4 |
外加 flood fill(4)、channels(3)、material(3)、scatter(2)、 blending(2),以及 script、dynamics、output 和 library 各一个。
filters 比 generators 多,这正是重点:一份程序化材质大部分是处理, 噪波只是简单的部分,真正让它读起来像木头还是像生锈的钢铁的,是之后那 四十四种推来搡去的手段。
script节点是留给另外两百个都覆盖不到的情况的逃生舱口,bake节点则 是把一段昂贵的分支变成一张存储好的图片,好让节点图的其余部分保持流畅 交互。
Material Scan,以及照片被重新发布之后会发生什么#
一次在 Inkwell 里准备好的Surface Capture, 到达这里时是一张节点图,而不是一张扁平图片:这次扫描会搭建出节点, Material Scan guide会一步一步带你看它搭建了什么,指出每一步对应的 节点,并把每个输出标记为manual或derived。
有意思的是第二次的情况。当同一次采集从 Inkwell 重新发布时,Matter 会 注意到,它知道自己持有的版本,也知道新到达的版本,并会询问:
| 选项 | |
|---|---|
| Update the source | 把新照片纳入已有的节点图 |
| Create a variant | 两个都保留 |
| Ignore | 保持节点图不变 |
更新只会替换源节点。 你在下游添加的每一个节点、你更改过的每一项 设置,都不会被动。正是这个保证,让重新拍摄一个表面变得安全:你在扫描 结果之上做的工作,不是这次被替换的东西。
如果这次采集其实什么都没变,对话框也会说明这一点,而不是让你自己去比对。 如果这次采集缺少了它需要的东西,面板会指出具体是哪些字段,而不是搭出半张 节点图。
导出一份材质#
离开 Matter 的东西有三种,它们并不能互相替代:
| PBR 贴图 | 每个通道一张图片:baseColor、roughness、metallic、normal、height、AO、emissive,格式为 PNG、JPEG、HDR、TGA 或 TIFF |
一个 .matter 包 | 节点图及其贴图,让材质保持可编辑 |
| glTF / GLB,以及 MaterialX | 以其他软件期望的形式呈现的材质 |
只有已连接的输出才会导出;面板会提示“no connected outputs”,而不是 写出空文件,并会按数量报告成功和失败的项目。
支持读写的文件#
| 原生格式 | .matter(节点图,或带贴图的一个包) |
| 导入 | .png、.jpg(Bitmap 节点)、SVG(SVG 节点)、来自 Inkwell 的一次表面采集 |
| 导出 | PBR 贴图,格式为 PNG · JPEG · HDR · TGA · TIFF;glTF / GLB;MaterialX |
向其他模块发送内容#
产出 一套 PBR 材质,以及一张扁平图片。接受 图片、像素画,以及来自 Inkwell 的表面采集。
这套材质会被 Pigment、Sculpt 和 Engine 直接理解:各个通道到达时已经映射到正确 的插槽,而不是七张需要你自己重新连接的散图。
与他人协作#
Matter 同步的是整份文档,经过防抖处理,而不是逐个节点同步。一张材质 节点图是个不大的对象,存储层不保留操作日志,一次完整同步诚实地反映了这 一点:以最后写入者为准。 两个人应该在不同的图页签上工作,而不是同 一个。
局限与常见问题#
- 一张卡顿的节点图,通常只有一个慢节点。 属性面板会报告每个节点的上次 求值耗时;在把整体分辨率调低之前,先看看那里。
- 分辨率是继承来的。 如果某个节点被固定为某个尺寸,它就不会跟随节点图 层级的改动,检查它的分辨率模式。
- 平铺问题会显现在 3D 预览里,而不是 2D 预览。 在宣布一份材质完工之前, 把平铺系数设为 2× 或 4×。
- Bitmap 节点不是程序化的。 它就和你给它的那张文件一样清晰,不管你用 什么分辨率渲染这张节点图。