[Closed] Strange Rotation-Results
I have a strange thing here:
I try to rotate a round object on the y-axis, as another object in my scene.
If I look closly on the rotation, the gizmo is rotating just fine as it should be, but the object itself doesnt. At a point (something -130 y-rotation or so) the rotation starts to slow down and than it changes its direction and rotates against the other rotation… the gismo of the object however rotates in the way it is ment to be…
Whats going on there?
I although tried it with a rotation-constraint, but it doesnt make a difference…
Anyone knows whats going on there or a workaround?
Fuchur
hi, maybe you should try to change rotation controller type
$.rotation.controller = bezier_float()
or tcb_float() …
I already experienced rotation problems to , ie with reactor and changing rotation controller usually fix the problem
hope it helps
MrGAG
rot_box = eulerangles 0 90 0
rotate mybox rot_box
—replace box with your name object—
gimbal or additive roll up, even scale could be doubled. Essentially rotations like most transforms are relative to there parent. So if you rotated it in x or the first axis of order in say 90 degrees, the next two will additionally add up. Once two axis are added together, on rotating the third, causes the first ie the x or first order of axis to be added ala:
x =90
y =90 (now your rotating x too)
z =90 (now your rotating y, and x too)
because, axis in euler are essentially vectors of a matrix and arent automatically calculated. In a way like quaternions with the i^2 = j^2=k^2 = ijk = -1 but thats a vector not in the normal sence and an angle :theta/cos*2 of the vector which are calculated all at once using imaginary numbers, [w,v] a point along the surface of a 4d hypersphere from an origin. Quaternions are nifty in that they use slerp, in that the rotation or transform with an angle, its across the surface- lerp ofcourse being linear interpolation. Im not sure if lerp takes the quickest route, but odd things can still happed, lerp can be wound up though, like angleaxis or a fazer about a vector ah molecular physics.
So rotations arent really the same as postions, in the matrix sence of the world rotation and scale are linked by the unit length, the distance of the origin to the normalised vector, row 1,2,3 row 4 being position and offset from the origin. Matrix’ rotations are easier to understand, in terms of rigging as your not defining a rotation as an angle – even quaternions dont do this, they have a vector -the direction and a twist about about the vector like angleaxis. But instead your defining an axis in space about the origin – eg draw a point in x y and z, then draw a line to each from the origin, if all the lines are perpedicular as in orthoganized axis, thats your rotation, if all the axis are longer than 1 from the origin when added up, the scale is bigger, is one axis is longer that the others then non-uniform scale is what you get. But if x is off in position so the axis’ are perpedicular to each other then you get scewing of the object.
Y is the problem child, im guessing your axis order is x,y,z – ive been told yxz, is very good at solving stuff and well as zyx. A possible 4th axis a parent of the lot helps too – i call this w. So w>y>z>x for example. It sounds like its winding up, and popping – id try and add a parent to it.
Until someone comes up with essentially a method, to re-evaluate the axis, all the time we stuck. One method i read about in game development is to reset the axis everytime, you change a value from say a spinner – dont know if this possible inside max. Would be like float list everytime you rotate the object ergg!
Dont feel bad, rotations are the bane of riggers lives, and short of hand animating twist bones etc,were stuck atm by gimbal.