glTF PBR Materials / Maya

If your content needs to be fully-compatible with glTF 2.0 standard for some reason, you'll need to use the simplistic material setup. This setup is based on a limited set of Maya nodes which should be connected with each other as specified below.

Example of glTF-compatible materials
Example of a scene made with glTF-compatible materials.

For usage example, check out the GLTF Compat demo (source files available in the Asset Store).

Setting Up

Assign the Standard Surface shader node to your material then follow the procedures below.

Enabling glTF 2.0 compatible material for Standard Surface shader

The following Standard Surface settings are supported in Verge3D:

Base Panel

Specular Panel

Emission Panel

Geometry Panel

In addition, when dealing with Ambient Occlusion, you might also want to use Weight value from the Specular panel to make you Maya viewport look consistent with Verge3D rendering.

Creating PBR material for general use

Follow these steps to configure standard PBR shader which has 3 maps: Base Color, ORM (Occlusion, Roughness, Metalness) and Normal Map:

  1. Assign Standard Surface to your model.
  2. Open the Hypershade editor, find and select this material in the Browser panel.
  3. Create a file node with Base Color texture. Make sure that the Color Space setting of this node is set to sRGB.
  4. Connect Out Color output of this texture to Base Color input of Standard Surface node.
  5. Create a file node with ORM texture. This texture should contain 3 channels with AO (red), Roughness (green) and Metalness (blue) info. Make sure that the Color Space setting of this node is set to Raw.
  6. Connect R channel of the ORM texture to Base and Specular inputs of the Standard Surface node to simulate the ambient occlusion effect.
  7. Connect G channel of the ORM texture to Specular Roughness input of the Standard Surface node.
  8. Connect B channel of the ORM texture to Metalness input of the Standard Surface node.
  9. Create file and bump2d nodes with Normal Map texture. Make sure that the Color Space setting of the file node is set to Raw and the Use as setting of the bump node is set to Tangent Space Normals.
  10. Connect file to bump2d node and bump2d node to Normal Camera input of the Standard Surface node.

This is how the material should look in the Hypershade editor:

Typical glTF 2.0 material setup in Maya

Exporting Textures from Substance Painter

The models and the baked normal and occlusion maps (if any) can be loaded in Substance Painter via OBJ format.

Using Substance Painter to create glTF-compatible materials

Overall 3 maps are produced in this software in the end: base color/transparency, occlusion/roughness/metallic and normal.

Occlusion roughness metallness texture atlas

Alternative Setup based on usdPreviewSurface Material

You can use these materials for both glTF and USD formats.

Assign the usdPreviewSufrace shader node to your material, the following settings are supported in Verge3D:

Specular Panel

Displacement Panel

Creating USD material

Follow these steps to configure standard PBR shader which has 3 maps: Base Color, ORM (Occlusion, Roughness, Metalness) and Normal Map:

  1. Assign usdPreviewSurface to your model.
  2. Open the Hypershade editor, find and select this material in the Browser panel.
  3. Create a file node with Diffuse Color texture. Make sure that the Color Space setting of this node is set to sRGB.
  4. Connect Out Color output of this texture to Diffuse Color input of usdPreviewSurface node.
  5. Create a file node with ORM texture. This texture should contain 3 channels with AO (red), Roughness (green) and Metalness (blue) info. Make sure that the Color Space setting of this node is set to Raw.
  6. Connect R channel of the ORM texture to Occlusion input of the usdPreviewSurface node to simulate the ambient occlusion effect.
  7. Connect G channel of the ORM texture to Roughness input of the usdPreviewSurface node.
  8. Connect B channel of the ORM texture to Metallic input of the usdPreviewSurface node.
  9. Create file node with Normal Map texture. Make sure that the Color Space setting of the file node is set to Raw.
  10. Connect file node to Normal input of the usdPreviewSurface node.

This is how the material should look in the Hypershade editor:

Creating glTF material with USD Preview Surface shader node

Exporting to glTF in Runtime

With export to gltf puzzle you can export your models or the entire scene in realtime. Then you can download the exported model or upload to the server for permanent storage. See more in the puzzle's reference.

Got Questions?

Feel free to ask on the forums!