Animation Splines and SkelAnimation question

I was pointed at the Spline animation work from the ASF slack channel ( https://github.com/PixarAnimationStudios/OpenUSD-proposals/tree/2bad4b86aa02185b5a54affed2e31c9f7792396e/proposals/spline-animation#readme ) but I had a question about if/how it was going to support SkelAnimations.

In GLB, in skeleton animation you have an array a tracks. Each track identifies what property it animates, and specifies keyframes at time points. The time points do not have to align between tracks, and you only have to animate the properties you want. E.g. you may rotate all the joints, but only specify position for the root bone (and not do scaling at all).

SkelAnimation in USD seems different (unless I am missing something). You specify the array of joints, then you have to specify for each joint the rotation, position, and scale (you cannot skip any due to the encoding scheme). Also, the time codes are shared across all joints, so if you specify rotation at time T in one rotation vector, you have to specify it for all the rotation vectors at that time code - you cannot skip values from what I can see.

If the above is correct, how will splines work with Skel Animation? Splines are based on sparse vectors with non-aligned time codes right?

Thanks!

1 Like