Simulating the "bounce spin" of a rubber ball

Godot Version

4.2.2 stable on Windows 10

Question

I’m trying to make a marble game like Marble Blast Gold, but I can’t seem to get the marble to bounce right. You know how when a rubber ball hits the ground with a spin, it bounces back with a spin in the opposite direction? I’ve experimented with this RigidBody3D’s friction, bounce factor, & mass, and even the project’s physics tick rate, steps per frame, and jitter fix values, and I cannot produce this behavior. The amount of spin the ball leaves the ground with is negligible at best.

I’ve attached a drawing trying to illustrate the behavior I want, and a video showing what actually happens. Does anyone know how to produce this sort of ‘rubber ball effect’?


Never done this specifically but I think the best way would probably be adding a force manually in code when it hits the ground with enough velocity.

That sounds like lots of math so first look at getting it to rotate like you want and then experiment with getting the correct direction and tuning the feel right.