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: setmetalness.openPBRSurface: setbaseMetalness.StingrayPBS: setmetallic.
Exports as metallicFactor.
standardSurface factor-only metallic setup.
aiStandardSurface factor-only metallic setup.
openPBRSurface factor-only metallic setup.
StingrayPBS factor-only metallic setup.
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:
grayscale file.outColor → shader.TEX_metallic_map (enable use_metallic_map)
grayscale file.outColorR → shader.TEX_metallic_map
grayscale file.outColorG → shader.TEX_metallic_map
grayscale file.outColorB → shader.TEX_metallic_map
Metallic is packed into the blue channel of metallicRoughnessTexture on export. Use a grayscale source image for the most reliable result.
For a dedicated grayscale metallic image, outColor, outColorR, outColorG, or outColorB all export equivalently because the image carries the same value in every RGB channel. The examples below use outColorB to mirror glTF's metallic channel. If metallic is the only metallic/roughness channel in use, the exporter keeps the original grayscale image as the metallicRoughnessTexture instead of generating a new packed map.
standardSurface texture-only metallic setup with file and place2dTexture.
aiStandardSurface texture-only metallic setup with file and place2dTexture.
openPBRSurface texture-only metallic setup with file and place2dTexture.
StingrayPBS texture-only metallic setup with file and place2dTexture.
Note
For standardSurface, aiStandardSurface, and openPBRSurface, aiImage connects the same way as the file examples above: connect the matching aiImage.outColorB output to the same metallic input, and use a place2dTexture if you need UV repeat, wrap, mirror, offset, or rotation controls.
StingrayPBS does not support an aiImage metallic path.
Factor + texture
glTF computes: metallicFactor × metallicTexture
For standardSurface, aiStandardSurface, and openPBRSurface, a dedicated grayscale metallic map can use any one multiplyDivide lane. The examples below use the Z lane because it mirrors glTF metallic:
- Connect the grayscale metallic texture into one lane of
multiplyDivide.input1X,input1Y, orinput1Z. - Set the matching metallic multiplier on
multiplyDivide.input2X,input2Y, orinput2Z. - Connect the matching
multiplyDivide.outputX,outputY, oroutputZ→shader.metalness/baseMetalness.
For dedicated grayscale metallic maps, the exporter traces the actual source plug, so outColor, outColorR, outColorG, or outColorB can feed that lane. The lane choice does not need to be Z.
For StingrayPBS, connect the grayscale file texture to TEX_metallic_map, enable use_metallic_map, and set the metallic multiplier on metallic.
standardSurface · aiStandardSurface:
texture.outColorB → multiplyDivide.input1Z → shader.metalness
openPBRSurface:
texture.outColorB → multiplyDivide.input1Z → shader.baseMetalness
StingrayPBS:
grayscale file.outColor → shader.TEX_metallic_map (enable use_metallic_map)
set shader.metallic as the multiplier
If the source image is not grayscale, use the connection that carries the real metallic data. For a packed ORM image that means outColorB.
For packed ORM reuse on standardSurface, aiStandardSurface, and openPBRSurface, the metallic data must still originate from the source texture's B channel, but it may travel through any one multiplyDivide lane. One shared multiplyDivide node or separate multiplyDivide nodes are both supported.
The multiplier exports as metallicFactor.
standardSurface factor-plus-texture metallic setup with file and place2dTexture.
aiStandardSurface factor-plus-texture metallic setup with file and place2dTexture.
openPBRSurface factor-plus-texture metallic setup with file and place2dTexture.
StingrayPBS factor-plus-texture metallic setup with file and place2dTexture.
Note
aiImage uses the same factor-plus-texture graph as the file examples above: connect the same aiImage.outColorB output to the matching multiplyDivide.input1* lane, then continue from the corresponding multiplyDivide.output* to the same shader input.
StingrayPBS does not support an aiImage metallic path.
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)
For standardSurface, aiStandardSurface, and openPBRSurface, automatic packed-ORM reuse requires metallic and roughness to resolve to the same file path, with roughness read from G and metallic from B. One shared texture node or multiple texture nodes that point to the same file are both supported.
AO is exported from that same packed image only when the image's R channel is explicitly connected to gltfAO. Without the gltfAO connection, the exporter writes only metallicRoughnessTexture.
Separate grayscale maps are also supported. When any 2 or 3 of AO, roughness, and metallic are texture-driven from different grayscale sources, the exporter generates a packed OR, MR, OM, or ORM texture as needed. If only metallic is present, it exports the original grayscale image directly as the metallicRoughnessTexture. All generated packed maps must share the same dimensions.
If metallic and roughness already share one packed source image but AO comes from a different file, the exporter keeps AO as a separate occlusionTexture instead of merging it into that MR image.
For StingrayPBS, the exporter also recognizes packed ORM-style authoring when metallic and roughness share the same source image, even if the Maya graph uses file.outColor on one shared file node or on multiple file nodes that point to the same image path. In that case the exporter infers the glTF channel roles from the destination attributes and writes metallic to the blue channel.
UV transform
Use a connected place2dTexture with either file or aiImage to set repeat, wrap, mirror, offset, and rotation.
UV set: assign via Maya's UV Set Editor or UV Linking - see UV Set Selection for node-type differences.
For standardSurface, aiStandardSurface, and openPBRSurface, keep metallic, roughness, and AO inputs on matching UV sets and matching transforms when you expect them to share one exported texture. When the exporter reuses or generates a packed MR/ORM texture, it takes the UV transform and texCoord from the first resolved metallic, roughness, or AO texture node.
If StingrayPBS metallic and roughness use different UV sets or different place2dTexture transforms, the exporter warns and still packs them into one glTF metallic-roughness texture using the first metallic/roughness input it finds as the reference UV transform.
Notes
- Metallic is a non-color map. Always use
Rawcolor 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: useTEX_metallic_mapand set UV transforms on the connectedplace2dTexture.StingrayPBS: standalone grayscale metallic acceptsoutColor,outColorR,outColorG, oroutColorB. Packed ORM detection prefers shared-image workflows and maps metallic to glTF B on export.