-
-
Notifications
You must be signed in to change notification settings - Fork 21.1k
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
Reduce cubic interpolated animation hitch #54811
Reduce cubic interpolated animation hitch #54811
Conversation
This should replace |
Reviewing with @TokageItLab. Need also a look by @reduz |
This fix is may valid in 3.x, but in 4.x it is deprecated to control the translate property with the value track. In 4.x, if the same problem is occurring with any property other than the 3D transform property, I think this should be accepted. However, if the problem occurs only for a specific type of property, the fundamental problem is probably somewhere else apart from this fix, and we should fix it there, not here. |
I PR to 4.x following instructions received in my 3.x PR. I assumed that 4.x would behave different due to the heavy reimplementation of some systems, but was pointed to send it as a 4.x instead of my original 3.x PR. As per your question, the original issue occures both in 2D and 3D, and the test scene submitted show a 2D Sprite and a 3D Cube suffering the hitch on screen. I don't know if maybe more problems somewhere apart this, but I think it is clearly a bug in the code I changed, as the cubic interpolation implementation ignores the wrapping nature of key index when loop wrap is enabled. |
I'll test the non-Vector values later. 4.x needs to be implemented differently from 3.x. Since the ping-pong loop is implemented, we should need that if statement. |
In 4.0, there is a lack of adaptation to ping-pong, and as mentioned in #57952, we are planning to adopt makima-interpolate, so we need to salvage this at that time. |
Superseded by #58344. |
Reduce cubic interpolated animation hitch
Cubic interpolation didn't wrap around first and last keys, clamping
pre and post keys to first and last before interpolating values.
Fixes #20087