Skip to content

Conversation

@johnhaddon
Copy link
Member

The call to skinningQuery.GetJointMapper() can not only reorder transforms but can also omit them. This occurs when SkelBindingAPI uses a skel:joints attribute to bind a mesh to a subset of joints, allowing the weights for other joints to be omitted. We were assuming that the mapped transform array had the same length as the input array, and were running off the end of the array.

- Add stage timecode range, so we get a playback range in `usdview`.
- Rename `Skeleton` prim to "skel", because having it share a name with one of its joints was confusing.
The call to `skinningQuery.GetJointMapper()` can not only reorder transforms but can also omit them. This occurs when SkelBindingAPI uses a `skel:joints` attribute to bind a mesh to a subset of joints, allowing the weights for other joints to be omitted. We were assuming that the mapped transform array had the same length as the input array, and were running off the end of the array.
@johnhaddon johnhaddon self-assigned this Oct 8, 2024
@danieldresser-ie
Copy link
Contributor

LGTM. As mentioned offline, my only nitpick is that the name "orderedXforms" seems rather misleading, now that we know that this is not just a different ordering of the xform list, but that has no impact on correctness, and shouldn't prevent merging.

@johnhaddon johnhaddon merged commit 3c826b2 into ImageEngine:RB-10.5 Oct 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants