Coin spin physics

I’m trying to simulate a 3d coin spin then fall like in real life. So far, I made a cylinder with a mesh collider and I add a torque to get it to spin. It spins slow no matter what torque I give it. If I angle the coin a bit then it falls sometimes. It is definitely not realistic. Can someone help me make it look somewhat real?

It’s probably spinning slowly because its limited by rigidbody’s maximum angular velocity. And you’ll almost certainly need to play with the moments of inertia and friction coefficients to get the approximate effect you want.

For example

GameObject coin = GameObject.Find("Coin");
Rigidbody rb = coin.GetComponent<Rigidbody>();
rb.angularVelocity = new Vector3(0, 30, 0);
rb.maxAngularVelocity = 30;
rb.inertiaTensor = new Vector3(0.2f, 10.0f, 0.2f);

If you want more precision, it’s possible to calculate the exact moments of inertia for the coin using the standard equations.

2 Likes

Thank you so much Brian-Stone! I got it working.

Just reiterating how helpful this post was (for a ring, in my case). Only thing I had to change was the intertia dimensions based on my model.