- Home /
Good Physics Materials For Rolling Ball
I'm trying to better understand Unity's physics engine by making a simple game with a ball that rolls down ramps and around platforms. The user controls the direction in which the ball moves using the arrow keys, which applies torque to the ball, causing it to roll.
On a flat surface, this works pretty well, but I've noticed that if I roll the ball down a ramp, it reaches a pretty low maximum velocity (about 3.5). I've found that I can increase the velocity it reaches by decreasing the dynamic friction on my ball's physics material, but this gives me less control when moving it (it becomes slippery).
I'd like something like a basket ball rolling across a wooden floor. Even though a basket ball has a high amount of friction on its surface, if I roll it down a ramp (~30 degrees), it will keep accelerating the whole way down. Yet if I torque a basket ball, it would change direction pretty quickly.
How can I achieve this effect in Unity? I've tried playing with the physics material of the ground (default Metal material from Standard Assets) and on my ball (custom material based on the Bouncy one), but either the ball rolls fast and slides, or its grippy but rolls really slow.
I guess what confuses me is that in real physics, friction should have a negligible affect on how an object rolls across a surface. A smooth metal ball and a basketball will roll down a hill at about the same speed. Angular velocity should be influenced by drag, but reducing my ball's drag to 0 seems to have no effect.
Answer by Moohasha · May 26, 2014 at 05:15 PM
Ok, the solution had NOTHING to do with my physic materials. I had to increase the Max Angular Velocity in my project's PhysicsManager. I'm still confused about why increasing/decreasing the dynamic friction had an influence on the speed at which the ball rolled, but at least I was able to fix it.