- Home /
Rotate Rigidbody on Two Separate Axes Independently to a specific angles
Hi everyone. I have run into bit of a problem and I would appreciate any insight. I have a rectangular rigidbody that I am trying to rotate on both its Y and Z axes. I want the Z axis to rotate a full 360 degrees and the Y axis to rotate 180 degrees. Also when one axis is rotating its rotation does not effect the rotation of the other axis.
I have figured out a solution to rotate a single axis at a time to a certain angle using torque. By monitoring the amount of rotation along an axis each frame.
public void CalculateRotation()
{
Vector3 currentUpwardDirection = skateBoardRigidBody.transform.up
// measure the angle rotated since last frame:
float angle = Vector3.Angle(currentUpwardDirection, previousUpwardDirection);
if (angle > 0.01)// if rotated a significant angle...
{
// accumulate in currentRotationAmount
currentRotationAmount += angle;
// and update previousUpwardDirection
previousUpwardDirection = currentUpwardDirection;
}
}
However when incorporating both axes I cant seem to come to a solution.
I wanted both axes to rotate independently of each other so I could reuse the above code to stop the amount of torque once the desired angle was met for certain rotation.
I tried using the following to see if this would give me a rotation that I am looking for however it does not.It seems to combine the torques.
skateBoardRigidBody.AddRelativeTorque(0,0,torqueAmount);
skateBoardRigidBody.AddRelativeTorque(0,torqueAmount,0);
I this at all possible using physics/torque? Or should I resort to using Quaternions? I am building a skateboarding game and would like to try to incorporate physics were at all possible however, if I need to fake it then so be it.
I attached an image so you can get a better idea.
I appreciate any and all help.
Your answer
Follow this Question
Related Questions
Why can't I assign a rotation to a rigidbody Object? 1 Answer
Orbit cam and Rigidbodies aiming 0 Answers
Rigidbody wont rotate in the other direction. 0 Answers
transform.Rotate and Rigidbody.MovePosition 1 Answer
How may I observe expected physical interactions while using Rigidbody.MoveRotation()? 1 Answer