Why does switching to mobile shaders make some faces black?

Hey! I’m working on a Quest compatible VRChat avatar. Upon switching to any of the mobile shaders, some of the character mesh’s faces turn black:

Why is this?

I think you should check either closer or in game. One common issue is that none of the Quest shaders have options to draw polygon on both sides, so those faces might be facing in.

I don’t know about standard shader, never used it, but for like poiyomi it’s an option for the back faces.

Personally I use the quest shaders on PC, because I have a PC, and a build and test can be quick. Also I have issues with the unity camera all the time.

Flipping a face in blender hopefully you can find a nice video if you need one.

I confirmed that the normals are facing the right direction in Maya, is there anything else this could be?

Try Vertex colors.

If you click and highlight the mesh object in Unity (specifically the mesh sub-asset, not the fbx file), it will tell you what per-vertex data the mesh has in the preview window in the inspector. Check to see if it lists vertex colour.

I see that there are vertex colours now!

image

I learned how to view vertex colours in Maya by setting the material to the default surfaceShader1 and toggling these viewport settings:

image

Selecting all of the verticies and applying “Remove color” under Mesh Display > Apply Color’s options menu didn’t change anything, but selecting the colour of one of the working verticies and applying it to everything fixed it!

Everything looks as it should in Unity now, thank you so much!

4 Likes