Transparency with USDZ

Transparency is a huge issue when it comes to USDZ. There are many hoops to jump through when creating a model with transparency. Apple is aware of the bugs that exist with USDZ development and transparency. I have been in contact with a team of Graphics and Game Engineers at Apple that have been looking at our USDZ models and development pipeline to determine bugs and development workarounds.

Working with Transparency...

If your model has a transparent material, it is advisable to use PhongE since it has an option for roughness and specularity. We tested various materials and settings, and the setup that yielded the best results is pictured below.

As you can see, all material attributes are set to 0 except for roughness and diffuse. This is because the known issue for transparency in USDZ is a white haze that appears on transparent planes that comes from the specularity attribute.

The next step to improving USDZ transparency comes after you’ve converted your FBX in Reality Converter (RC). Once you have done that, continue to the next section.

Your next step will be to open your USDZ model in XCode. When you open it for the first time, you will notice a few things. First, your model may have undergone some strange transformation shifts (as mentioned earlier), so be sure to fix those before saving your USDZ.

The important steps you need to perform in XCode will be found under the material tab. You should see the sections pictured on the left, pay close attention to your settings, as any errors here could lead to your file exporting incorrectly. First, you want to make sure your metalness value is set to 0. Then make sure the roughness attribute is set to 1.

Culling Settings

If you scroll down to the transparency section, you’ll notice there is an option for culling and double-sided materials. As of writing this, there is no way to turn off culling for a USDZ file, so you can only choose between cull back or cull front.

The faceculling attribute does exist within Apple’s AR development platform, but only when working within app development and not for USDZ files.

Even checking double sided does not change the result of the USDZ file, even though you may see a change in the XCode viewport.

Additional Solutions for Transparency Using Maya

The band-aid solution to this issue is to duplicate your group of transparent faces in Maya and then reverse the normals

It may sound like you’ll have double the faces but, you will end up with the faces you want.

XCode will cull 1 side from each group of faces, resulting in a “two-sided” effect.

An ideal solution to this problem would be to have the option to turn culling completely off, but unfortunately, that doesn’t exist yet

By Juan Diego Torres Brenes LaRoche