Community
3ds Max Animation and Rigging
Welcome to Autodesk’s 3ds Max Forums. Share your knowledge, ask questions, and explore popular 3ds Max animation topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

out-of-range rotations no accurate

12 REPLIES 12
SOLVED
Reply
Message 1 of 13
mark_aldred
1090 Views, 12 Replies

out-of-range rotations no accurate

Can someone confirm this for me and help me find the reason it's happening?..

 

1. create point

2. animate Z rotation 360 degrees at frame 20 with tangents set to linear

3. set out-of-range to linear out for rotation Z track

4. move to frame 40 and read the Z rotation value

 

I get a 0.022 degree drift every 360 degrees and I have no idea why. I'm pretty sure I've looped rotation like this in the past without any trouble.

 

Any idea what it could be?

 

12 REPLIES 12
Message 2 of 13
leeminardi
in reply to: mark_aldred

I think the error is due to the rounding encountered with Max's single precison data base.  Coordinates, and I belive angles, are limited to about 7 signinficant digits.   This is due to the 32 bit database limiting the mantissa to 24 bits or 2^24 = 16,777,216 which is a bit more the 7 decimal digits.   Angles are stored in radians so your 360° rotation is exactly 18° per frame or ABOUT 0.3141593... radians. I don't know how many decimal places are used to store this angle but obviously there is some rounding which is causing the small error you see. 

lee.minardi
Message 3 of 13
mark_aldred
in reply to: mark_aldred

Thanks.

Can you think of any way around it? 

I'm trying to make a loopable animation of 1800 frames where the object rotates 90 times exactly.

 

 

Message 4 of 13
leeminardi
in reply to: mark_aldred

Assign a TCB Rotational controller to the object and make sure Rotation Windup is checked  Set angle to 32400 at frame 1800.

 

leeminardi_1-1706891027753.png

 

lee.minardi
Message 5 of 13
mark_aldred
in reply to: mark_aldred

Thanks.

The data I'm working on actually uses a TCB controller on rotation, but for some reason the axes and angles were throwing me off. 

Message 6 of 13
mark_aldred
in reply to: mark_aldred

I created a point, set the rotation controller to TCB, added keys at 0 and 1800, then set the angle. The point rotated perfectly around local Z. The object need to be tilted in the final animation (which is why I was using TCB in the first place), so I tilted it 25 degrees.

 

I thought I understood TCB, but obviously I don't. I've attached the keys for 0 and 1800. I have no idea why this works. the angle for key 0 is the tilt. The angle for key 1800 is the rotation around Z. At the risk of getting an involved mathematical explanation .... what is going on?

Message 7 of 13
leeminardi
in reply to: mark_aldred

The x, y, z, values of the TCB controller are the unit vector defining the direction of the rotation axis not the angle of rotation.  It's not clear in what direction you want the 25° tilt at the end of the animation.   Can you post a file showing the initial orientation of the point and the final orientation?

 

lee.minardi
Message 8 of 13
leeminardi
in reply to: mark_aldred

 

 

lee.minardi
Message 9 of 13
mark_aldred
in reply to: mark_aldred

Point001 is rotated 32400 degrees around Z. Point002 is just a copy that's been tilted 25 degrees around Y.

 

 

Message 10 of 13
leeminardi
in reply to: mark_aldred

Is you goal then to have a point orthogonal to the world (i.e., the local xyz axes parallel to the world xyz axes) in frame 0 and then have an orientation for frame 1800 with the z axis pointing 25 degree in the world -x direction measure in the xz plane having rotated 90 times about its local z axis? 

lee.minardi
Message 11 of 13
mark_aldred
in reply to: mark_aldred

Point002 is what I need. It's just I'm having trouble understanding exactly what's going on with the TCB controller. Those two key images I posted, how the angles relate to the axes. I'm not sure how frame 0 angle can show the 25 degree tilt around Y, but then frame 1800 shows the 32400 degree rotation around a different axis. It's baffling.

 

I appreciate the help.

Thanks.

 

Message 12 of 13
leeminardi
in reply to: mark_aldred

The value x = -.423 is the sine of 25 degrees and z = 0.906 is the cosine.  So -0.423,0,0.906 is the unit vector axis of rotation to get between the orientation of the two points.

 

I think the approach  yoou should take if I understand your goal is to create a dummy coincident with the point and link the point to it.  Then keyframe a TCB rotation of angle 32400 about vector 0,0,1 and for the dummy with Euclidean rotation set a rotation for y rotation of 25 degrees.  This will yield 90 rotations of the point while it at the same time rotates from straight up to an invclination of 25 degrees about the dummy's y axis.

 

lee.minardi
Message 13 of 13
mark_aldred
in reply to: mark_aldred

Thanks. I'll try that.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report