- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
This code captures the problem
obj1 = Box pos:[100, 100, 100]
obj2 = Box pos:[200, 100, 100]
obj3 = Box pos:[300, 100, 100]
set animate on
for t = 1 to 101 by 10 do (
at time t obj1.rotation.Y_rotation = 5*t
at time t obj2.rotation.Y_rotation = 5*t
at time t obj2.rotation.Y_rotation = 5*t
at time t obj3.rotation.Y_rotation = 5*t
at time t obj3.rotation.Y_rotation = 5*t
at time t obj3.rotation.Y_rotation = 5*t
)
animate off
I'd expect all three Boxes to have identical animation, and for their y-rotations to increase continuously at a steady rate over 101 frames.
Instead, all three box rotations reverse rotation direction after frames 21 and 91. Moreover, while obj1 and obj3 behave the same screwy way, obj2 differs at frames 21, 41, and 91 because apparently multiple assignments to the same value sometimes has the effect of toggling between two values.
For completeness here's a table for the full results I got, weird numbers in red, and bolded red where obj2 doesn't match obj1, obj3.
Frame | 1 11 21 31 41 51 61 71 81 91 101
Expected Y-rotation | 5 55 105 155 205 255 305 355 405 455 505
obj1, obj3 actual | 5 55 105 25 205 285 305 355 405 455 395
obj2 actual | 5 55 75 25 335 285 305 355 405 445 395
What's causing this? If it's something weird with the EulerXYZ controller I can't find any mention in the documentation or in the forums. I notice some of the wrong values add with the correct ones in such a way that the sum is a multiple of 180 but I don't know what to make of this.
For what I'm doing I only need this one axis of rotation. The other two axes are completely untouched, as in my example code.
Edit: I'm using 3ds Max 2017 on Windows 10
Solved! Go to Solution.
