CompuServe Messages

#Cycle object prob.

    12-Jun-94 15:09:36
Fm: Charles Blaquiere 76046,1756
To: Michael W. Towe 74364,1466
Michael, I have a hunch that you've encountered the 180-degree problem. Imagine is a keyframe-based program: set the start values, set the end values, and let Imagine calculate all the in-betweens. If your start value is a rotation of 0 degrees, and the end value is 180 degrees, you have a problem. You see, 180 degrees and -180 degrees lead you to the same final position; given that position, how is Imagine supposed to decide whether you wanted to go from 0 to 180 by moving through positive values, or 0 to -180 by moving through negative values? The answer: Imagine can't. It'll make its best guess, which can change depending on the circumstances of the moment. Sometimes Imagine will go from 0 to 180, other times from 0 to -180. Imagine users should always be unambiguous when specifying keyframes. For example, in your final keyframe, rotate the book cover 179 degrees rather than 180 — nobody will ever see the difference. Another situation where this occurs is when you want to rotate an object 360 degrees. The final keyframe, at 360 degrees, is interpreted as 0 degrees, so Imagine will tween from 0 to 0, and your object will not rotate. If you use 3 keyframes (start, midpoint, end) and set them to 0, 180, and 360 degrees, the values are ambiguous and Imagine will probably rotate your object in a ping-pong manner, rather than a full revolution. The solution here would be to have 4 keyframes (start, 1/3, 2/3, end) and set rotation angles at 0, 120 , 240 (or -120, same thing), and 360 (or 0, same thing) degrees. Blaq!