- Home /
iTween.RotateAdd Gives Wrong Results
I'm trying to create an obstacle course where the player has to pass through rings with the top of their avatar oriented at a certain angle, indicated by a pointer on the ring. Comparing the player's eulerAngle.z
with the ring's works as long as the player enters perpendicular to the ring, but breaks down if the player enters at too much of an angle.
So, I think, I'll make an invisible game object, rotate it so it faces the ring correctly, and then measure its eulerAngle.z
. Code as follows:
`marker = Instantiate(emptyObject, col.gameObject.transform.position, col.gameObject.transform.rotation) as GameObject;
float rot_needed_x;
float rot_needed_y;
if(marker.transform.localEulerAngles.x < 180f){
rot_needed_x = marker.transform.localEulerAngles.x / -1;
} else {
rot_needed_x = 360f - marker.transform.localEulerAngles.x;
}
if (marker.transform.localEulerAngles.y - 90f > 90f - marker.transform.localEulerAngles.y){
rot_needed_y = (marker.transform.localEulerAngles.y - 90f) / -1;
} else {
rot_needed_y = 90f - marker.transform.localEulerAngles.y;
}
Hashtable rotHash = new Hashtable();
rotHash.Add ("x", rot_needed_x);
rotHash.Add ("y", rot_needed_y);
rotHash.Add ("z", 0);
rotHash.Add ("time", 0.1f);
rotHash.Add ("oncomplete", "GetFinalScore");
rotHash.Add ("oncompletetarget", this.gameObject);
rotHash.Add ("easetype", iTween.EaseType.linear);
rotHash.Add ("looptype", iTween.LoopType.none);
//Now rotate marker and output new Euler angles
iTween.RotateAdd(marker, rotHash);`
What's killing me is this: the code correctly figures the needed rotations, but after they're applied the end Euler angles (checked by the GetFinalScore
function called when the animation completes) don't match the ones I want. So for instance, I get the following output using some print
statements:
Original Eulers 72.43787, 214.0912, 22.45103
Rotation Needed -72.43787, -124.0912
Final Eulers 304.0101, 131.6699, 307.0423
What am I missing? How does 72.44 + -72.44 equal 304? Am I just not understanding something basic about Euler angles?
Your answer
Follow this Question
Related Questions
iTween Path 2D rotation, orientToPath issue. 1 Answer
Get a child object to rotate a parent to the cameras direction -1 Answers
Can't lock rotation of object. 0 Answers
Biped not rotating when using iTween visual path editor 0 Answers
iTween Rotation not exact 0 Answers