-
-
Notifications
You must be signed in to change notification settings - Fork 21.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Skeleton3D: Convert 3.x skeletons #87050
Skeleton3D: Convert 3.x skeletons #87050
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is good. @TokageItLab @lyuma Can you check?
This was how it was described to me by Tokage YEARS ago.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be fine for the bone properties.
However, there is no animation compatibility, so if you want full compatibility with 3.x Skeleton, you will need to consider that as well; There is never full compatibility possible with animations. Bone animation is now absolute, not relative, and scale has been isolated so that transforms should be different when combined with rotation and scale.
Yes, this is fixed in my next PR. #87106 |
41b63e7
to
bcad569
Compare
Thanks! |
This implements conversion of the old 3.x Skeleton format to 4.x upon load (similar to old Mesh format conversion).
Skeletons had a
Transform pose
property in 3.x, which was broken out in 4.x toVector3 pose_position;
Quaternion pose_rotation;
Vector3 pose_scale
Additionally, in 3.x, the pose of the skeleton was relative to the
rest
position; in 4.x, the poses are absolute.So, we recompute the poses to be absolute and break the
Transform3D
into its various components.