[Request] USD export - Character attribute name

[Request] USD export - Character attribute name

paolo_deluciaHXMJG
Contributor Contributor
1,431 Views
6 Replies
Message 1 of 7

[Request] USD export - Character attribute name

paolo_deluciaHXMJG
Contributor
Contributor

Hello Golaem gurus,
After 20 years of CG, I finally put my hand on this plugin and I start with this feature/question :

Is there a way to have the name of the character used on an entity when exporting in USD ?
For now, it seems the entity has a float attribute called "glmEntityType" that shows which character is used, but this means I have to recreate a dictionary of id:name to bring back the name of the character.
I've tried to create a PP attribute through the golaem interface, but it doesn't support strings, only the other types.
I've also checked which attributes are exportable when writing the USD, but nothing seems to relate to the character name.

I use these names to procedurally build the paths of my textures on the disk, so I can use a unique shader on my whole crowd. It may be a good addition to allow custom string attributes or to have a built-in characterName attribute when exporting...

Thanks.
Paolo.

0 Likes
Accepted solutions (1)
1,432 Views
6 Replies
Replies (6)
Message 2 of 7

alexandre_pillon
Community Manager
Community Manager

Hi
I do not think this is possible for now, but need to discuss this with someone who is out of the office at the moment, stay tuned

Cheers,

Alex

Message 3 of 7

nicolas_chaverou
Community Manager
Community Manager

Hey Paolo,

What are you calling the "name of the character" ? Should I assume the Character File path ?

Are you using the USD Skeleton or Procedural approach ?



NICOLAS CHAVEROU
GOLAEM PRODUCT MANAGER
0 Likes
Message 4 of 7

paolo_deluciaHXMJG
Contributor
Contributor

I'm using the skeleton approach.
I export each entity separately in a folder because our lighting software (gaffer) has problems reading the "one file" USD export. What I call the "name" of the character is the name of the character node (geometry panel of the character maker). This, later on, seems to become the prefix of the entityType in maya. The path to the character would definitely work for me as well, as any other string I could specify on each entity, according to its type.
I'm joining a screenshot that shows the structure/hierarchy of the import. I can get plenty of attributes, but never the string I need. In my case, the "casual_m_0030" never shows in gaffer : Not in the hierarchy, nor as an attribute.
I worked around it by creating a dictionnary ("characterName":"glmEntityType" attribute), but this, in a way, kills the procedural approach of Gaffer.

Screenshot from 2025-05-16 14-26-22.jpg

0 Likes
Message 5 of 7

nicolas_chaverou
Community Manager
Community Manager
Accepted solution

The prefix of the EntityType is the name of the Golaem Character File loaded in the type itself

We do not write this data in the USD Skel hierarchy but Golaem allows string shader attributes and you can write anything you'd like to in those

They would be replicated as primVars on the generated USD skel prims.

Does that help ??

 

2025-05-19 16_38_28-untitled.hip - Houdini Apprentice Non-Commercial 20.0.688 - Py3.10.jpg2025-05-19 16_38_43-divide.ma_ - Autodesk MAYA 2024.2_ N__tests_nicolas_scenes_divide.ma   ---   Cas.jpg

 



NICOLAS CHAVEROU
GOLAEM PRODUCT MANAGER
0 Likes
Message 6 of 7

paolo_deluciaHXMJG
Contributor
Contributor

Hello Nicolas,
I had this idea too, but as I'm not exporting the shaders with the objects (shading is made in gaffer), I forgot it.
Let me try to attach the attribute to the shading group to to see if it makes it to the export.
Less important but still noticable : As a primvar, the attribute will be written per component thus increasing the file size. It shouldn't be too much of a problem though.

0 Likes
Message 7 of 7

paolo_deluciaHXMJG
Contributor
Contributor

Works like a charm.
The attribute on the shading group is exported as an attribute, not a primvar. It's located on the entity, which is perfect for me, because it's inherited to the objects below in the hierarchy (including the shaded objects).
Thanks for this solution, you've made my day !

0 Likes