-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
[godot] no support for world position/rotation physics #2573
Comments
Also unrelated question, but would like some clarification before I open a separate ticket. Does the Spine runtime calculate physics on its own tick-rate? Because it looks perfect on a locked 60FPS project, but if I uncap it and run at 144FPS, even if I raise the godot physics tick rate to match, I still get that classic jittering that usually comes from differing tick-rates. |
To answer your second question, you can configure when Regarding physics constraints,
At the moment, you have to call those manually. I have to see if I can wire up |
Thanks for the reply, I did not know about Unfortunately the I've found an additional detail that helps repro it easily though. It seems that for any FPS above or below 60, there is a weird "jolt" that happens every 1/X seconds. So at 61FPS, it jolts every ~1 second, at 62FPS every ~0.5 seconds, and so on. Which makes sense why uncapped at 144FPS (my monitor refresh rate), it seems to jitter every frame. It's very easy to visualize by calling 61 FPS: 61_fps.mp462 FPS: 62_fps.mp470 FPS: 70_fps.mp4At 60FPS, there's no jittering. This makes me think that the internal physics update logic is somehow desynced with the actual sprite mesh updating, since normal animations stay smooth regardless of FPS on NOTE: I am only applying the physics rotation to the skeleton so that it's easier to see. It still happens if I rotate the |
Sorry, I just found time to get back to this. @yoont4 could you share the scene script and assets? All timing related code is contained here: This method receivces it's delta time either by manually calling There's nothing anywhere in the code that would make things only work at 60fps, so I'm a bit puzzled. I also can't reproduce the issue using the celeste example on a 120Hz screen. |
As the title describes, setting the position/rotation of a
SpineSprite
doesn't cause any of the physics constraints to do anything. You have to do some direct transform modification which is very clunky and error prone:Whereas I'd much rather have it respond to physics changes from typical sprite-level interactions:
Would it be possible to have a toggle if necessary to enable world-space physics calculation, rather than requiring direct modification to the internal skeleton positions?
The text was updated successfully, but these errors were encountered: