-
-
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 #54730
Reduce cubic interpolated animation hitch #54730
Conversation
Thanks for opening a pull request 🙂 Pull requests should be opened against the |
Sorry, I can't PR against |
The You can create a new project from the command line as follows: # Create an empty `project.godot` file within a folder.
mkdir -p /tmp/test
touch /tmp/test/project.godot
# Replace "~/godot/bin/godot.linuxbsd.tools.64" with the path to your compiled Godot executable.
~/godot/bin/godot.linuxbsd.tools.64 --rendering-driver opengl3 --single-window /tmp/test/project.godot The 3D editor viewport won't display anything, but you should be able to switch to the 2D tab and see sprites added there. |
Amazing! I'm trying to compile it right now, disabling all third party modules that throw errors. if I'm able to make it run, I could replace this PR with a new one against |
The PR for I was able to compile it patching 2 thirdparty libraries ( Although the editor works (in 2D as you said), I can't run the scenes. I got this message:
For this PR this was not a problem, as the hitch was noticeable directly in the editor. |
We don't modify thirdparty libs unless we really can't fix issues differently. I'm not aware of any build issue for those libs on any platforms supported in our official builds though, I assume you're on a more exotic system? Please open issues for these. |
Note: Perhaps this whole text should be it's own issue entry. I can move it to one if you want and delete it here. Thanks in advance, and I know this is not a common-enough scenario to be really attendend.
Yes, I'm on FreeBSD. Before opening issues for this (for I mean, I understand that they are options and modules (mainly talking about
When I tried to compile with
So, I proceed with And then, finally, when we try to execute it following the previous indication for OpenGL, we have a core dumped:
First of all, compiled with the patched modules (with all the default modules enabled at compilation time) works good enough. Secondly, we can really ignore the core dump, as the important part is the Perhaps if the I don't mind trying to generate elaborated patches to thirdparty modules if it will fix the compilation problem to a runnable executable. |
If you disable But yes, please open issues about the compilation problems for basis_universal and icu4c, they should be fixed. Edit: Closed by mistake. |
71cb8d3
to
c58391c
Compare
Closing as superseded by #54811 so we keep reviews in a single place (the |
I was too fast, the |
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 it's fine for 3.x. However, for 4.0 #54811 (comment), there is a problem as I mentioned there, so please let me postpone it see #58344.
@@ -1718,11 +1718,19 @@ T Animation::_interpolate(const Vector<TKey<T>> &p_keys, float p_time, Interpola | |||
case INTERPOLATION_CUBIC: { | |||
int pre = idx - 1; | |||
if (pre < 0) { | |||
pre = 0; | |||
if (p_loop_wrap) { |
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.
if (p_loop_wrap) { | |
if (loop && p_loop_wrap) { |
These keys should not be looked up when not looping.
} | ||
int post = next + 1; | ||
if (post >= len) { | ||
post = next; | ||
if (p_loop_wrap) { |
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.
if (p_loop_wrap) { | |
if (loop && p_loop_wrap) { |
Superseded by #58651. |
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