Skip to content

Maya's Per Instance Unshared for Vertex Colors extra value #4556

@msnider-hub

Description

@msnider-hub

Describe the bug
There are some object assets if their vertex colors were made with the Maya's Per Instance Unshared setting, the colorset names are created with an internal (0) , for example VCP_Color(0) and VCP_Alpha(0)
With mayaUSD plugin when exporting these vertex color data, it seems they take the whole string VCP_COLOR(0) directly as the attribute name but (0) is invalid character in USD and would fail during its own validation, so the USD export would fail.

For example, if I export an asset (for example, Candle_01.ma) with mayaUSD plugin then this the error I get:

/ Error: Cannot create attribute spec on </objectRig_lightWall_rig/geo_lightWallMISCandle_01/lightWallMISCandle_01_LOD1> with invalid name 'primvars:VCP_Color(0)' -- and 7 similar

The (0) data is created by Maya and not user, MayaUSD plugin might be able to doing something like converting the (0) to 0  during export to handle attribute names like this. For example, DAE export converts parenthesis to underscore.

Just renaming the colorset doesn't change the (0) part, Maya adds it no matter what as long as it's created with the Per Instance Unshared mode

Steps to reproduce
WIP

Expected behavior
WIP

Attachments
Image
Image

Specs (if applicable):
WIP

Additional context
WIP

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions