Physically Based Rendering in High Fidelity for Maya

Howdy folks! 

Caitlyn Meeks here with the High Fidelity Content Team. This week, I’d like to talk about Physically Based Rendering and a straightforward pipeline into High Fidelity.

PBR has become the gold-standard for next-generation game engine visuals, with its efficient and realistic rendering of interactions between light and surface via attenuation of the brightness and scattering of reflected light. With PBR comes surface combinations that look and feel right to the human eye, like scratched and corroded metals that reflect light in intact spots, yet absorb and scatter light in darker, gritty areas. 

High Fidelity now provides PBR interoperability with Maya 2016 by natively supporting its new Stingray PBS (Physically Based Shader) material, the first and only material that renders in true PBR within Maya itself. While Blender and older versions of Maya do not render PBR in-editor, you can still ‘fly blind’ and prepare and export PBR content as described here. On the content creation side, Allegorithmic’s Substance Painter is an easy and intuitive way to paint models with PBR textures, and a snap to use with Maya and High Fidelity. There’s other great tools out there like Quixel Suite, Mari and Bitmap2Material. As long as you can export diffuse, normal, metallic and roughness maps, you’re set.  

Here’s my happy Substance Painter > Maya 2016 > High Fidelity workflow:

Step 1. Export your PBR Materials from Substance Painter.

Assuming you’ve already painted your model in Substance Painter, you’ll need to export four texture maps using the PBR_MetalRough export configuration: a Diffuse, Normal, Metallic and Roughness map.  If you’ve got AO or Emissive maps, you can export those too.

Step 2. Apply the Stingray PBS Material to your model in Maya 2016.

In Maya 2016, give your model a new Stingray PBS material and have a look at it in the Attribute Editor.  Note that earlier versions of Maya do not include Stingray PBS material, so you’ll need to upgrade to 2016.

Under Attributes, check the boxes marked Use Color, Use Normal, Use Metallic and Use Roughness.  Assign each texture you created earlier to the respective Color Map, Normal Map, Metallic Map and Roughness Map attributes.  If you’ve got AO or emissive maps, add them the same way.

Here you see a simple coin, textured in Substance Painter, imported and configured with Stingray PBS material, as it appears in a Maya 2016 viewport.

Step 3. Export an FBX with correct settings.

To export the model for High Fidelity, use the standard Maya FBX Exporter with the following settings selected:

  • Geometry > Tangents and Normals 
  • Geometry > Referenced Assets Content
  • Geometry > Triangulate
  • Embed Media > Embed Media
  • FBX File Format > Binary
  • FBX File Format > FBX 2014/2015 (FBX 2016 not yet supported)

Once you’ve exported your FBX, upload and import it into your High Fidelity domain.  Assuming you’ve done everything right, you’ll find the model looks and behaves just as great in High Fidelity as it does in Maya. 

If you want your own mint-condition, uncirculated High Fidelity PBR coin collection, I’ve made the model public domain and available to download. If you’d like to learn a bit more about the low-level black magic of PBR, I highly recommend this theoretical introduction by the kind folks at Marmoset. By the way, High Fidelity does not use the Stingray game engine– but we are immensely grateful to Autodesk for introducing the Stingray PBS material as a standard in Maya 2016.

Hello! I'm Caitlyn Meeks, Director of Content at High Fidelity Inc in San Francisco.  We're busy making the metaverse!