- Home /
How to calculate the RPM/Rotation speed of an object?
I know that for WheelColliders you can use WheelCollider.rpm to determine the round per minute, but how do I do that for something that doesn't have wheelcolliders attached? Say, I've got a GameObject with a cilinder attached (let's call it CillinderRight), how do I calculate the RPM or rotationspeed of that cilinder?
I need to calculate the RPM/Rotation speed of the X axes only.
Answer by PanzerPotato · Jun 24, 2018 at 03:08 AM
Well here's a late answer, but you could use transform.InverseTransformDirection (yourRigidbody.angularVelocity).x
, which gives you the rotation speed in radians. But you could convert that into degrees by multiplying it by Mathf.RadToDeg
.
Answer by Bunny83 · Dec 23, 2011 at 01:45 AM
Uhhmm, well, a GameObject with a cylinder doesn't rotate on it's own. If it has a rigidbody attached it can roll due to gravity or force. The other way an object would rotate is to rotate it manually (set / increment the rotation yourself).
If you drive the rotation on your own you should actually know the speed since you're driving it. If it's a rigidbody it's getting difficult. Rigidbodies are ALWAYS simulated in worldspace, so you don't have a local rotation axis. The rigidbody have it's angularVelocity which expresses the rotationspeed around each global-, world-axis.
Like shown in the example you can use angularVelocity.magnitude to get the rotation speed, but it's the speed around the rotation axis which can be arbitrary aligned in the world. This way you can't determine the direction of the rotation, just it's magnitude.
AFAIK the velocity is in degrees per sec, but i'm not sure. I never used it so far.
Your answer
Follow this Question
Related Questions
Images Rotation 1 Answer
Uniform rotation - uniform lerp 1 Answer
Making a rotating object rotate with a parent object 1 Answer
After rotate with joystick, rotate resetting,joystick rotate correction 0 Answers
how to rotate 2d obj on android 1 Answer