Skip to content

Metallic

glTF: pbrMetallicRoughness.metallicFactor · pbrMetallicRoughness.metallicRoughnessTexture (blue channel)

Metallic controls whether a surface behaves as a metal or a dielectric. In glTF it is stored in the blue channel of the shared metallicRoughnessTexture. It is a non-color (linear) workflow.

Shader Scalar attribute Texture attribute Notes
standardSurface, aiStandardSurface metalness metalness
openPBRSurface baseMetalness baseMetalness Different attribute name from metalness
StingrayPBS metallic TEX_metallic_map + use_metallic_map Repacked into the blue channel on export

Factor only

Set the metallic attribute directly on the shader.

  • standardSurface, aiStandardSurface: set metalness.
  • openPBRSurface: set baseMetalness.
  • StingrayPBS: set metallic.

Exports as metallicFactor.


Texture only

Color space: Raw

standardSurface · aiStandardSurface:
  aiImage.outColorB  →  shader.metalness
  file.outColorB     →  shader.metalness

openPBRSurface:
  aiImage.outColorB  →  shader.baseMetalness
  file.outColorB     →  shader.baseMetalness

StingrayPBS:
  file.outColor  →  shader.TEX_metallic_map  (enable use_metallic_map)

Metallic is packed into the blue channel of metallicRoughnessTexture on export. Use a grayscale source image for the most reliable result.


Factor + texture

glTF computes: metallicFactor × metallicTexture

  1. Connect the texture into multiplyDivide.input1X.
  2. Set the metallic multiplier in multiplyDivide.input2X.
  3. Connect multiplyDivide.outputXshader.metalness / baseMetalness / metallic.
standardSurface · aiStandardSurface:
  texture.outColorB  →  multiplyDivide.input1X  →  shader.metalness

openPBRSurface:
  texture.outColorB  →  multiplyDivide.input1X  →  shader.baseMetalness

The multiplier exports as metallicFactor.


Packed ORM / MR map

The preferred glTF layout when roughness, metallic, and AO share one texture:

Channel Data
R Occlusion
G Roughness
B Metallic
texture.outColorR  →  shader.gltfAO
texture.outColorG  →  shader.specularRoughness
texture.outColorB  →  shader.metalness        (standardSurface · aiStandardSurface)
texture.outColorB  →  shader.baseMetalness    (openPBRSurface)

Separate grayscale maps are also supported — the exporter repacks them into a combined MR or ORM texture. All repacked maps must share the same dimensions.


UV transform

file nodes: set repeat, wrap, mirror, offset, and rotation on the connected place2dTexture.
aiImage nodes: wrap, scale, and offset export natively; rotation requires a place2dTexture.

UV set: assign via Maya's UV Set Editor or UV Linking — see UV Set Selection for node-type differences.


Notes

  • Metallic is a non-color map. Always use Raw color space.
  • Use grayscale metallic maps for standalone inputs. If the data lives only in one channel of a packed image, follow the packed ORM workflow above.
  • If packing into a single image, metallic must be in the blue channel per the glTF spec.
  • StingrayPBS: use TEX_metallic_map and set UV transforms on the connected place2dTexture.