Collider seems to increase angular drag
I have a game object with a rigidbody attached with an angular drag of 3.5. I am rotating the rigidbody using AddTorque( Vector3.up Time.fixedDeltaTime 200). This gives a nice rotation with the correct feel I'm looking for.
The problem is that when I add a collider to the GameObject the rotation becomes much slower. I have removed everything else from the scene for testing so it's definitely not hitting anything.
I've also tried adding a OnCollisionStay() but it is never called. Whatever is happening only seems to effect rotation not linear movement.
Any ideas?
Answer by streeetwalker · Apr 03, 2020 at 07:47 PM
@Idual, there is nothing wrong. This happens because of how mass and torque forces work.
For the same reason an ice skater spins faster when they pull their arms in, without a collider the mass of the object is concentrated at the center of the object.
When you add a collider, you define the volume of the mass. It takes more torque to spin the same mass with a larger radius at the same speed.
In effect, you have spread the skaters arms outward and, given the constant torque force you've applied, the object rotates slower.
This is something I had never noticed before. You are exactly right. The solution was to manually set the rigidbody center of gravity.
Your answer
Follow this Question
Related Questions
Error NullReferenceExceptionwhot isk this?? 0 Answers
Rigidbody randomly going through collider 1 Answer
Rigidbody wont move after changing collider.bounds.center 0 Answers
Character doesn't collide with the floor. 0 Answers
My players(cubes) passing through the ball and wols but little... Help please :) 0 Answers