PBR material exported from Maya not setting Metalic Roughness map

Hi,
I have used Maya to export a .babylon model that has an aiStandardSurface material applied.
This exports to the Babylon.js PBRMaterial as desired.
However, I have assigned an ORM material to the Metalness and Specular Roughness inputs (see screenshot1) but the resulting .babylon file has the following channels set that I found unexpected:

  • The ORM texture is applied to reflectivity and Ambient, whereas I was expecting it to be applied to Metallic Roughness and Ambient
  • The “Ambient In Greyscale” flag is false, so all channels of the ORM map are used for ambient occlusion rather than just the expected red channel

I assume that I am incorrectly setting up the material in Maya and was hoping someone could point me in the correct direction so that I can correctly apply the Metallic Roughness map and set the metallic and roughness properties within the aiStandardSurface node.
Thanks.

ping @PatrickRyan

1 Like

@Charge, would you be able to send me a link to your glTF, even in a direct message, so I can take a look at what is happening? Your material seems to be set up correctly from your screen shot, so we would need to take a look at the json to see what was written. Also, if you can share what version of the exporter you are using, that would be helpful to debug. Thanks!

Hi @PatrickRyan - thanks for your help :smiley:

Please note that I export to a .babylon file and not a glTF

Here is a zip file with an example maya scene consisting of a cube and 2 textures used in the same way as my first screenshot. Also included is the resulting .babylon file with materials set as I described in my first post.

exportExample.zip (943.8 KB)

the exporter version and settings used are:

The exporter output was:

Export started
DAG: full
name= type=kWorld
name=persp type=kTransform
name=perspShape type=kCamera
name=top type=kTransform
name=topShape type=kCamera
name=front type=kTransform
name=frontShape type=kCamera
name=side type=kTransform
name=sideShape type=kCamera
name=pCube1 type=kTransform
name=pCube1Shape type=kMesh
DAG: relevant
name= type=kWorld
name=pCube1 type=kTransform
name=pCube1Shape type=kMesh
Exporting nodes
pCube1
Total meshes: 1
No camera defined
Total lights: 0
Exporting materials
aiStandardSurface1
kPluginDependNode
Ai Standard Surface shader
aiStandardSurface1.baseColor
aiStandardSurface1.metalness
aiStandardSurface1.specularRoughness
Total: 1
Saving to output file F:\Dropbox\babylonjs\exports\exportExample\babylonFile\exportExample.babylon
Export done in 1.58s

Adding @Guillaume_Pelletier as well

This looks like an issue in the exporter. @Guillaume_Pelletier, I can confirm that version 20210811.2 is translating an aiStandardSurface material to a PBRMaterial but is not mapping the ORM to the MetallicRoughness channel but the same file exported from 20210507.3 translates to a PBRRoughnessMetallicMaterial with the ORM correctly mapped to the MetallicRoughness channel.

@Charge, the new exporter is mapping to the preferred and more powerful PBRMaterial, which is what you will want to use, but we will have to look into the translation mapping for the Babylon format.

Thanks for the update @PatrickRyan :+1:

1 Like

Hi @PatrickRyan & @Guillaume_Pelletier - was just wondering if there is a bug raised for this issue that I could follow, or if I should raise one myself? Thanks

Hey, i’m out of the office until the end of the month. Please raise an issue, then i can take care of it when i’ll be back.

3 Likes

Hi @Guillaume_Pelletier,
I have raised the bug as requested. Sorry it took so long, but my family and I have just recovered from COVID, so I had other priorities.

Bug here: PBR material exported from Maya not setting Metalic Roughness map · Issue #1009 · BabylonJS/Exporters · GitHub

Thanks.

1 Like

@Charge nw and take care of your family first !!! Hope you all feel better.

1 Like

Hi @Guillaume_Pelletier - thanks for implementing the fix for this. :+1:
Do you know when it will be released?
Thanks

Hey,
It has been released 14 days ago.
-G.

Great thanks.
I normally install the Exporter installer from https://github.com/BabylonJS/Exporters/releases, which says the latest version is from August.

Given there is no new released version on that page, would I need to build the installer myself to get your fix, or is there another way?
Thanks

Hello, did not noticed this… might append something behind the scene, let me check directly with the team to address this.

1 Like

It’s fixed, there was a token expiration issue at the backend. Let me know if you run into any issues.

2 Likes