Skip to content
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

Fix Quaternion Tween and add Easing baker to AnimationTrackEditor #64678

Merged
merged 1 commit into from
Aug 23, 2022

Conversation

TokageItLab
Copy link
Member

@TokageItLab TokageItLab commented Aug 21, 2022

Desktop.2022.08.21.-.10.56.00.01.mp4

To improve editing of non-Bezier track animations, add the feature of baking Easing by Tween to the AnimationTrackEditor.

Especially, the ValueTrack has EasingCurve, but the TRS3D track does not have EasingCurve. Is this due to performance reasons or compression tracks @reduz? Well, it is possible to use tween interpolation as an alternative feature from EasingCurve.

The main use case for this feature is to easily add animation to simple skeleton models such as weapons or GUI objects or something. For smoothing in character animation, Cubic interpolation improved with #63380 and #63602 is more appropriate.


In addition, Quaternion tween was completely broken, so this PR fixed it with using slerp internally. Also, Quaternion::exp() checking algorithm had a problem, which has been fixed.

@TokageItLab TokageItLab added this to the 4.0 milestone Aug 21, 2022
@TokageItLab TokageItLab requested review from a team as code owners August 21, 2022 02:20
@TokageItLab TokageItLab force-pushed the implement-ease-baker branch 5 times, most recently from ec00743 to ede0e43 Compare August 22, 2022 09:25
@TokageItLab
Copy link
Member Author

TokageItLab commented Aug 22, 2022

Changed default fps to 30. In addition, Bake as Linear feature is added.

Desktop.2022.08.22.-.18.18.45.07.mp4

It addresses Cubic Interpolation incompatibilities and performance issues. It can also be used to organize non-uniform keys, and is better used in combination with Optimizer.

@TokageItLab TokageItLab force-pushed the implement-ease-baker branch 2 times, most recently from 7af0338 to 06f7991 Compare August 22, 2022 09:38
@TokageItLab TokageItLab force-pushed the implement-ease-baker branch from 06f7991 to f7dd83c Compare August 22, 2022 10:05
@akien-mga akien-mga merged commit b9919fd into godotengine:master Aug 23, 2022
@akien-mga
Copy link
Member

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants