Skip to content

USD Import: transform cache constraint parenting bug #20

@kowalskima

Description

@kowalskima

The transform cache constraint logic isn't taking into account an object's parent transform when computing its world matrix. I.e., the constraint is only applying an object's local transform, failing to take the transform hierarchy into account. I've implemented and pushed a fix for this to usd-importer-T81257-merge. The required fix to USD_get_transform() was straightforward, applying the same logic as in the corresponding Alembic importer implementation, ABC_get_transform().

The attached parentedCubesAnim.usda demonstrates the issue before the fix. The scene contains two cubes with animating transforms: a rotating box2 which is parented to a translating box1. Before the fix, box2 would rotate at the origin, instead of translating with its parent, box1.

parentedCubesAnim.zip

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions