Skip to content

Exporter Reference

Material Authoring

Custom Maya attributes, alpha mode setup, and shader-specific behaviours that affect how materials are written on export.


Custom Material Attributes

The plug-in automatically adds glTF-specific custom attributes to every supported material node when the plug-in loads and whenever a new material is created. The attributes appear in the Extra Attributes section of the Attribute Editor.

gltfDoubleSided

A boolean attribute that forces the exported material's doubleSided flag to true, regardless of mesh backface-culling state. Toggle glTF Double Sided to On in the Extra Attributes section.

When left Off (the default), the exporter falls back to the per-shape backface culling setting in Maya. Enable this attribute to override that automatic detection - particularly useful when one material is shared across shapes with inconsistent culling settings.

This attribute is present on all supported shader types: standardSurface, aiStandardSurface, openPBRSurface, and StingrayPBS.

gltfAO

A float attribute that explicitly routes a texture into the glTF occlusion channel instead of relying on automatic packed-ORM detection. Connect an occlusion texture's output to glTF AO in the Extra Attributes section.

This is useful when your occlusion map is stored separately from your metallic-roughness texture.

gltfTransmissionColorRole

An enum attribute that resolves the shared Maya transmissionColor attribute when export could treat it as either diffuse transmission color or volume attenuation color. Set glTF Transmission Color Role in the Extra Attributes section.

Maya uses one transmissionColor input for two different glTF meanings:

  • Diffuse transmission color → KHR_materials_diffuse_transmission.diffuseTransmissionColorFactor
  • Volume attenuation color → KHR_materials_volume.attenuationColor
Option Export behaviour
Auto (default) Uses the exporter heuristics: a non-white factor-only transmissionColor without volume hints routes to diffuse transmission; volume signals such as positive thickness or transmissionDepth, or importer provenance attrs, can keep it as attenuation.
Diffuse Transmission Forces factor-only transmission / transmissionWeight and transmissionColor into KHR_materials_diffuse_transmission. transmissionColor is not written as volume attenuation.
Attenuation Forces factor-only transmissionColor into volume attenuationColor, and keeps the weight as classic KHR_materials_transmission instead of diffuse transmission.

This override applies only to factor-only transmission setups (no transmission or diffuse-transmission weight texture). Textured graphs already encode the intended role through channel wiring, so leave the attribute on Auto in those cases.

Use Diffuse Transmission for tinted scattered translucency with scalars only (wax, skin, frosted glass). Use Attenuation for glass-like absorption tint when pairing classic transmission with volume (thickness / transmissionDepth).

This attribute is used by standardSurface, aiStandardSurface, and openPBRSurface. See also Diffuse Transmission and Volume.

Alpha Mode Authoring

The exporter supports three glTF alpha modes: OPAQUE, BLEND, and MASK.

BLEND Mode

Connect a texture or value to the material's opacity/transmission attribute to get alphaMode=BLEND in the exported output.

MASK Mode with alphaCutoff

To export alphaMode=MASK with a precise cutoff threshold, wire an Arnold aiCompare node between your opacity texture and the shader's opacity input:

  1. Connect the opacity texture's outAlpha to aiCompare.input2.
  2. Set the Test operation on aiCompare to less than (<). Any comparison test mode (less than, less than or equal, greater than, greater than or equal) triggers MASK detection - less than is the recommended choice.
  3. Set aiCompare.input1 to the cutoff threshold (for example 0.5). This value is exported as alphaCutoff.
  4. Connect aiCompare.outValue to the shader's opacity input:
  5. standardSurface, aiStandardSurface: connect to opacity.
  6. openPBRSurface: connect to geometryOpacity.

Without this aiCompare node pattern, the exporter cannot determine a cutoff threshold and will not write alphaMode=MASK.


Shader-Specific Notes

StingrayPBS - mask_threshold and Alpha Cutoff

For StingrayPBS materials, the exporter reads the mask_threshold attribute to populate the glTF alphaCutoff value when the material is in MASK alpha mode. Set this attribute in Maya to control the cutoff threshold on export.

OpenPBR - Emission Luminance Scale

When exporting an openPBRSurface shader, the exporter divides the emissionLuminance value by 1000 before writing it as KHR_materials_emissive_strength. This compensates for the importer's corresponding multiply-by-1000 applied on import, preserving the round-trip value.

If you set emissionLuminance directly on an openPBRSurface in a scene that was not imported through this plug-in, the exported emissive strength will be 1/1000th of the Maya value. In that case, multiply your intended glTF emissive strength by 1000 when setting emissionLuminance in Maya.