-
-
Notifications
You must be signed in to change notification settings - Fork 21.5k
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
Pile of RigidBody2Ds results in overlapping and shaking #2092
Comments
One way to solve this is change fixed_fps of 60 for 180, with this value looks good for me. |
Lol, that's hypnotizing :D |
There's a video showing this bug: https://www.youtube.com/watch?v=LYy3NTBElO4 |
Will fix this in 2.1, as I will probably switch to a less beautiful but more useful contact point generation code. |
i think i fixed this bug a few weeks ago, but i can't download the test case |
New test case: test_rigidbody.tar.gz I tested it with v2.0.4.1.stable and isn't working. |
I can still reproduce the bug in 2.1-beta using the above test case. |
I guess #515 might be a duplicate of this bug (or the other way around, as you prefer ;)). |
Not critical for the upcoming 2.1, so moving to the next milestone. |
Just tested @guilhermefelipecgs' test case on master branch and this bug still occurs. |
What's the status of this bug in the current master branch? |
Still happens. |
Hmm. I was convinced that this was fixed eventually. |
Unfortunately leaving it for 3.2, Did not manage to find time to make the many changes to the 2D engine I desired. |
Anyone working on this? |
Nop, I'm sure that would have made a big entry in the Godot Breaking News |
Any news on this? It's rather important issue. |
@vonedo3011 As far as I know, nobody is currently working on this. reduz might take a look at it for 4.0 if time allows. |
How's the progress on this? |
@evah5 Same as before, I haven't seen anyone work on this lately. |
I found an interesting bug, its probably related to one of this issues mentioned, here is the minimal reproducible example: I tried to increase the fps as suggested here but this only work once or twice, after that the rigid bodies on my scene start to overlap and shake again if you keep pressing the space bar. |
I'm still not sure if this is a bug or I'm doing something wrong... From discord: https://discordapp.com/channels/212250894228652034/342056330523049988/703046144208666714
func change_mode(new_mode):
match new_mode:
STATE_MODES.OBJECT:
state_mode = STATE_MODES.OBJECT
set_deferred("mode", RigidBody2D.MODE_RIGID)
$motion_collider.set_deferred("disabled", true)
STATE_MODES.CHARACTER:
state_mode = STATE_MODES.CHARACTER
set_deferred("mode", RigidBody2D.MODE_CHARACTER)
$motion_collider.set_deferred("disabled", false) func _integrate_forces(state):
if Input.is_action_just_pressed("ui_select"):
change_mode(STATE_MODES.OBJECT)
if Input.is_action_just_released("ui_select"):
change_mode(STATE_MODES.CHARACTER)
|
@pouleyKetchoupp any chance of fixing this bug as you work on physics engine? |
@Feniks-Gaming It's on my list, but I don't know how involved this is going to be so I can't promise anything yet. |
Maybe related to #29639. The depenetration algorithm doesn't seem to conserve energy when an object collides with more than one other object on the same frame. So in this case, the boxes can continuously gain energy preventing them from falling asleep. |
I've done some testing with various physics FPS here: #49426 (comment) This may help you choose a physics FPS value when trying to work around this issue. |
Dump a bunch of rigibody2d's with rectangle collision shapes into a pit so they pile on top of each other, and the ones at the bottom are forced into each other. They overlap significantly, and constantly shake around as they try to resolve their colliisions.
Example:
https://copy.com/YWldXOFC18N1oYRk
The text was updated successfully, but these errors were encountered: