Hi, I’ve noticed that when I use the new USDZ file exporter from Babylon.js and try to import the models into Reality Composer Pro, they don’t seem to work correctly.
The materials aren’t visible instead, they show up as pink, which usually indicates a problem with the files.
I checked this model using the USD Toolset’s usdchecker also, and it returned this error and a failed status - the same happens with my models.
Error checking rule 'NormalMapTextureChecker': UsdUVTexture prim </Materials/Material_12/Texture_13_normal> that reads Normal Map @/...path.../scene.usdz[textures/Texture_5_false.png]@ should set inputs:sourceColorSpace to 'raw'.
Error checking rule 'NormalMapTextureChecker': UsdUVTexture prim </Materials/Material_12/Texture_13_normal> reads 8 bit Normal Map @/...path.../scene.usdz[textures/Texture_5_false.png]@, which requires that inputs:scale be set to (2, 2, 2, 1) and inputs:bias be set to (-1, -1, -1, 0) for proper interpretation as per the UsdPreviewSurface and UsdUVTexture docs.
Failed!
The USDZ file of the boombox was downloaded from the link in the Babylon.js documentation:
Other examples from official website, works correctly there, I downloaded from this link:
While I’m still not sure about the NormalMapTextureChecker error, I did notice a separate error about having multiple root prims, which led to this fix:
Seems to make Reality Composer Pro happy enough to solve the issue
Great, thank you @alexchuber. The boombox is now working correctly.
However, importing my models (exported using the newest version of Babylon.js v8.18.0) still causes this error: “Multiple root level objects exist…”.
Should I structure the scene in a specific way beforehand?
Oh, sorry, I saw it working in the playground, which had a console log mentioning v8.18.0. I updated and had the same version, but it wasn’t working. So this was a bit weird, that it worked on the playground.
After your response, I tried updating the npm packages again, and now with v8.19.1, it works like a charm.