-
Notifications
You must be signed in to change notification settings - Fork 214
Description
Both commands mayaUsdDuplicate and mayaUsdMergeToUsd seem to have problems saving blend shape animation when there is more than one SkelRoot, or when the SkelRoot is not the top primitive.
In this Maya hierarchy, the two transforms SkelRoot_A and SkelRoot_B are marked as Skeleton Roots (by adding the USD_typeName string attribute to them and setting its value to SkelRoot).
Mesh_A and Mesh_B are polygonal meshes, each with one BlendShape.
Now, if I try to right-click on MainGroup or even on one of the SkelRoot_ transforms and choose Duplicate as USD Data:
I get this error:
pxr.Tf.ErrorException:
Error in 'pxrInternal_v0_22__pxrReserved__::PxrUsdTranslators_MeshWriter::writeBlendShapeAnimation' at line 1084 in file D:\Jenkins\workspace\EMS\ECG\ecg-maya-usd\full\2024-windows\ecg-maya-usd\maya-usd\lib\usd\translators\meshWriterBlendShapes.cpp : 'There was a mismatch in the blendshapes determined and their corresponding weight plugs.'
The options used are these:
Note that the error happens with Skeleton set to auto and explicit, while when set to none it simply doesn’t export anything (which I understand why, but it would be nice to at least show a message to inform the user).
If I remove the USD_typeName attributes, then it works — but MainGroup becomes the SkelRoot, and the animation of all the blend shapes is merged into a common skeleton.
This is not what I need: SkelRoot_A and SkelRoot_B are supposed to be independent from each other, even if they live under the same structure.
I have looked up and couldn’t find anything in USD that dictates only one SkelRoot, or that a SkelRoot has to be the top prim.
In fact, it seems (at least from what I can tell) very common and useful to have multiple SkelRoot prims in one stage.
Steps to reproduce
- Download the provided Maya scene (don’t forget to remove the
.txtextension). - Try the steps explained above.
Expected behavior
A stage with a top prim (an Xform in this case) and two SkelRoot prims underneath it, each one with its own Skeleton and SkeletonAnimation to serve the blend shapes of the geometries contained within them.
Specs
- OS: Windows 11
- Maya: 2024
- Maya USD official release: 0.33.0