The USD file looks different in usdview 22.08 and 24.03

Hi experts,

I find that the animation of an USD file in usdview 22.08 and usdview 24.03 are different.
skeletal_animation_mix_keyframe_anim.usda (2.9 KB)
usdview 22.08:
FormatFactory Screen Record20240328_235426 00_00_00-00_00_30
usdview 24.03
FormatFactory Screen Record20240328_235541 00_00_00-00_00_30

On the other hand, the world bandboxes are also different.
usdview 22.08


usdview 24.03

Is this a bug or as design?

If you run usdchecker on your file in 24.03, you will be informed that you are missing UsdSkelBindingAPI on your skel prims. If you search for SkelBindingAPI in our Changelog, you will see the steps that were taken over several releases to start enforcing this requirement (without which, Hydra 2.0 will not work for Skel… and other reasons).

You can run fixbrokenpixarschemas from any release of the last year and a half on the layers that contain Skel data, and it will properly apply the schema for you. Thanks!

2 Likes

@spiff Thank you for the answer! It helps a lot.

Does USD API provide functions similar to “fixbrokenpixarschemas”? We’d like to be compatible with old version file.

Yes, though only in python:

from pxr import UsdUtils.FixBrokenPixarSchemas

See here for the class itself.

1 Like

@spiff Look like it is an enhancement for the skeletal animation. However, this change will bring the confusion for the application client. Say, the blender application using USD 22.08 can open the USD 22.08 schema version skeletal animation file correctly. However, the blender application using USD 24.03 can’t correctly open the same USD 22.08 schema version skeletal animation file.

So, what the action is: is it that the blender application using USD 24.03 will be responsible for fixing broken schema animation file or the blender’s client will be responsible for fixing broken schema animation file? If it is the blender’s responsibility, there is no c++ API to fix broken schema animation file now. At least, I see usdview 24.03 not to fix broken schema animation file when opening it. If it is the blender’s client responsibility, where can the blender’s client get the tool ‘fixbrokenpixarschemas’ ?

Hi @justinwang , updating and evolving assets is an area in which we’re still learning (situations and remedies are quite different inside our film pipeline). You are correct that the fixup script (and usdchecker validation script) are not very friendly for DCC incorporation. We are IP on our C++ framework for validation, which should give DCC’s more options, including automatically validating and fixing on import, or allowing that to be a user driven process, as well.

1 Like