Copy link to clipboard
Copied
I'm trying to import a USD file with 2 UV sets. I have a custom shader that uses the second UV set. It works on models imported from FBX, but I am not getting any data in the second UV channel on imported USD files. My second UV data is in the 'primvars:st1' attribute. The primary UV data is in the 'primvars:st' attribute and that works as expected. Is a second UV set supported in imported USD files? I'm on version 10.0.1.
You're right. After discussion with our dev, it seems you can indeed access the different UV sets via custom Shaders, but it is unfortunately not yet available for USD.
I understand this can be a blocker for a USD pipeline, and I'm opening a ticket on the topic.
Best regards,
Copy link to clipboard
Copied
Hi @AWP_0219,
Thank you for the message.
Unfortunately, having multiple UV maps isn't a supported feature for the moment, regardless of the mesh format.
If you need to have several texture sets, this works the same way as it works for .FBX : each Material ID found on the mesh create a new Texture set for the project.
Best regards,
Copy link to clipboard
Copied
Hi Cyril,
This does not match up with what I see in Painter. While it's true that you cannot paint using multiple UV sets, custom shaders can in fact read multiple UV sets from a model and use them to display additional texturesets, like in the case of a layered shader. The other texture coordinates are available via the shader inputs, specifically the input.multi_tex_coord parameter as noted in the V2F input type definition section of the documentation here:
https://helpx.adobe.com/substance-3d-painter/scripting-and-development/api-reference/shader-api/shad...
So the issue is not that the second UV set is not supported in the shader, it is that the data does not exist in models imported from USD. I tested importing the example FBX file shipped with Painter cube5uvsets.fbx, and the additional UV sets do work with a shader that uses them. If I convert that same file to USD and import it into Painter, all the UV sets beyond the first one appear to be discarded though, and no UV data is stored in them. This is preventing us from having parity between our USD pipeline and our FBX pipeline, which is a problem for us as we are trying to move towards everything being in USD.
-Matt
Copy link to clipboard
Copied
You're right. After discussion with our dev, it seems you can indeed access the different UV sets via custom Shaders, but it is unfortunately not yet available for USD.
I understand this can be a blocker for a USD pipeline, and I'm opening a ticket on the topic.
Best regards,
Copy link to clipboard
Copied
Thank you for confirming, I look forward to the fix.