Explore materials in Reality Composer Pro
Graphics & Games 进阶 20m

探索 Reality Composer Pro 的材质系统:Shader Graph 与 MaterialX

Explore materials in Reality Composer Pro

2023年6月5日

在 Apple 官方观看视频

一句话判断

空间计算平台的材质系统基于 MaterialX 开放标准和 Shader Graph 可视化编辑器,让你不写一行 Metal 代码就能创建复杂的 PBR 材质。

这场 Session 讲了什么

Niels Gabel 从 Reality Composer Pro 团队出发,讲解了空间计算平台上的材质系统:

两种材质类型。Physically Based 是基础 PBR 材质,通过设置颜色、金属度、粗糙度等属性配置,适合简单场景。Custom 材质基于节点图(Shader Graph),支持动画、几何修改和表面特效,是完全可控的创作方式。Custom 材质是 xrOS 上创建自定义材质的唯一方式——不再支持手写 Metal shader。

MaterialX 开放标准。ShaderGraphMaterial 基于 MaterialX,这是 Industrial Light & Magic 在 2012 年创建的开源标准。选择它意味着材质数据格式是开放的、可互操作的。

Shader Graph 编辑器。Reality Composer Pro 内置的节点编辑器。通过连接功能节点(position、separate、modulo、smoothstep、mix 等)构建材质逻辑。双击背景添加新节点,拖拽连线建立关系。所有改动在视口中实时预览。

实战:等高线地形材质。Session 用约塞米蒂谷的 3D 模型演示了完整的材质创建过程。通过 Position 节点获取高度、Separate 提取 Y 坐标、Modulo 创建间隔、Smoothstep 生成条纹、Mix 混合颜色,最终创建了类似地形图的等高线效果。

值得深挖的点

节点图的复用性。你可以把一组节点封装成 Node Group,就像代码中的函数一样。等高线材质中的条纹生成逻辑可以提取出来,在其他材质中复用。

Geometry Modifier。材质不仅能改变外观,还能修改几何体。通过在 Geometry Modifier 输出中设置位置偏移,你可以让 3D 对象的表面产生波浪、凸起等形变效果,而不需要修改原始模型数据。

从 CustomMaterial 到 ShaderGraphMaterial。iOS/iPadOS 上的 CustomMaterial 需要手写 Metal 代码,xrOS 上完全改为节点图方式。这对开发者来说是降低门槛——不需要学 Metal shading language,但需要理解节点组合的逻辑。

代码片段

// Shader Graph 节点组合逻辑(等高线材质)

// 1. Position 节点 → 获取 3D 空间中的渲染位置
// 2. Separate3 节点 → 提取 Y 坐标(高度)
// 3. Modulo 节点 → 高度除以间隔值,得到分段
// 4. Smoothstep 节点 → 将分段转换为 0-1 的条纹图案
//    smoothstep(edge0: 0.95, edge1: 1.0, x: modulo输出)
// 5. Mix 节点 → 根据条纹值混合两种颜色
//    color = mix(背景色, 条纹色, smoothstep输出)
// 6. 连接到 Surface 节点的 baseColor 输入
// Geometry Modifier 节点组合(波浪形变)

// 1. Position → Separate3 → 提取 X, Z 坐标
// 2. 用 Sine 节点创建周期性波动
//    wave = sin(position.x * frequency + time)
// 3. Scale 控制波动幅度
// 4. 连接到 Geometry Modifier 的 positionOffset 输出
// 结果:模型表面产生动态波浪效果

最佳实践

  • 先用 Physically Based 材质快速搭建场景,再针对需要特效的部分用 Custom 材质。
  • 把可复用的节点组合封装为 Node Group,保持节点图整洁。
  • 给节点和 Node Group 取有意义的名字,方便后续维护。
  • 利用视口的实时预览快速迭代,不要等做完一整个材质才看效果。
  • 参考等高线材质的构建过程作为入门练习。

还有什么值得关注

  • “Meet Reality Composer Pro” 是前置 Session,介绍编辑器基础操作
  • MaterialX 是开放标准,资产可以在支持 MaterialX 的工具之间流通
  • Smoothstep 是图形学中的经典函数,理解它对创建各种过渡效果至关重要
  • Geometry Modifier 让你不修改模型就能实现形变效果,非常适合动态视觉
WWDC 2023