- Home /
Rotation from AngleAxis() ToAngleAxis() flips back and forth
I could use some pointers on how Quaternion.AngleAxis() and Quaternion.ToAngleAxis() works.
What I'm trying to do is to rotate a box 90 degrees around the X-Axis each time I scroll the mouse-wheel forwards. Everything works fine until the box have made a full 360 degree rotation, that is 4 forwards on the mouse-wheel, and starts the second 'lap' of rotation. Suddenly the box rotates forward one step and when I scroll the mouse-wheel the next time it rotates back to 0 degrees.
Here is the code for picking the angles.
 if (scroll > 0){
  rot = 0f; 
  Vector3 right = transform.right;
  float angle = 0f;
                     
  transform.rotation.ToAngleAxis(out angle, out right);
  angle = angle + 90f;    
                     
  startRotation = transform.rotation;
  endRotation = Quaternion.AngleAxis(angle, Vector3.right);                    
 }
And the code for the actual rotation
 if (rot < 1f){
  rot = rot + Time.deltaTime * 4f;
  transform.rotation = Quaternion.Lerp(startRotation, endRotation, rot);
 }
Any suggestions to what's causing this are very appreciated.
i will help with that, just gimmie a sec to test what u got.
Answer by Braindrift · Mar 27, 2013 at 01:37 AM
Solved it. Instead of taking the transform.rotation as start position for the rotation I did the same as with endRotation and used AngleAxis to calculate the start rotation as well.
 if (scroll > 0){
  rot = 0f; 
  Vector3 right = transform.right;
  float angle = 0f;
                 
  transform.rotation.ToAngleAxis(out angle, out right);
  startRotation = Quaternion.AngleAxis(angle, Vector3.right);
                 
  angle = angle + 90f;
  endRotation = Quaternion.AngleAxis(angle, Vector3.right);                
 }
oh i just realised my code is a waste i didnt read x axis. there is also an asset called unity constraints that makes all that stuff easy as.
Your answer
 
 
             Follow this Question
Related Questions
Flip over an object (smooth transition) 3 Answers
object is not rotating from right direction 0 Answers
Quaternions acting up 1 Answer
How to always rotate clockwise 1 Answer
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                