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

RigidBody bounce fails to come to rest. #24332

Closed
ghost opened this issue Dec 13, 2018 · 2 comments
Closed

RigidBody bounce fails to come to rest. #24332

ghost opened this issue Dec 13, 2018 · 2 comments

Comments

@ghost
Copy link

ghost commented Dec 13, 2018

Win10 64bit d030c17

never settling

In modifying the properties of a RigidBody2D to get a desirable effect, I found that when using higher gravity scales and mass, bodies with bouncing tend to never come to rest. At higher values they will jitter on the ground.

Absorption can stop it, but it also kills the bounce effect.

Possible I'm misusing something, but it is at least odd to get these results with very little modification.

Demo Project: 3.1 Jittering Bounce.zip

@ghost
Copy link
Author

ghost commented Mar 20, 2019

Closing, this is the same as #25186

@ghost ghost closed this as completed Mar 20, 2019
@hirsimaki-markus
Copy link

I have found a somewhat reliable workaround for this. The ball in below game can only jump if its colliding e.g. not agitated.

quantum-yeet

I confirmed it to work with high weights like 100. Values like weight and bounciness might require tweaking along with the threshold below but this should stop infinite bouncing:

func _physics_process(delta):
	if abs(linear_velocity.y) <= 100:
		physics_material_override.absorbent = 1
	else:
		physics_material_override.absorbent = 0

I have no idea how to contribute to the source but I suppose the above logic could be implemented directly into source.

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

No branches or pull requests

2 participants