Announcements

Between mid-October and November, the content on AREA will be relocated to the Autodesk Community M&E Hub and the Autodesk Community Gallery. Learn more HERE.

I have the move tool set in Object but the cube generates input in X and Z

I have the move tool set in Object but the cube generates input in X and Z

Anonymous
Not applicable
765 Views
3 Replies
Message 1 of 4

I have the move tool set in Object but the cube generates input in X and Z

Anonymous
Not applicable

Hello. I  have a simple cube parallel to the world coordinates XYZ. If I move the cube on a positive X, I see that ONLY on the transforms attribute on the Translate X on channel box  get new input. Here is the problem: Once I rotate that cube in Y 45 degrees and move it again, now I seeing input being generated not only in X but now also in Z (while I have the move tool set in Object)

This is really a problem when you want to animate objects that  are not parallel to the world coordinates, because when you animate objects end up in different rotations. And from that position you need move the object one way only (ie forward X ) without affecting the other axis (Z) to avoid generating odd behaviors on other components (like wheels on a vehicle).

 

I seems to me that even if you have the move tool set on Object the Translate XYZ on the transform attributes in the Channel Box belong to the position on the World Coordinates and not the position of the object itself. Is this normal, how do I change this settings? Is there a way around it?

 

Thank you!

Cheers!

0 Likes
766 Views
3 Replies
Replies (3)
Message 2 of 4

brentmc
Autodesk
Autodesk

Hi,

 

This is because the transform node applies scaling, then rotation and finally translation. (so the rotation is happening before the translation)

 

The standard way to handle this in any 3D package is to group your cube (Ctrl+G) to add a new transform node above the cube and apply the 45 degree rotation to the group node.

Then select the cube (not the group) and repeat your example and you will see that the channels in the channel box now match the manipulator handles.

--

Brent

Brent McPherson
Principle Engineer
0 Likes
Message 3 of 4

Anonymous
Not applicable

Thank you Brent for you reply. The are a few problems with your solution but first  I would like to know something.

The input settings on the channel box of the cube belong to the cube itself or the position of the cube in world coordinates? Probably your answer will be yes.

 

Lets see if I explain myself: I create a cube, then I turn it around 45 degrees then I type 10 units in translate X (having the move tool in Object) then I see then instead of the cube moving diagonal as it suppose to ig goes to the right in the X axis of the world coordinate 10 units which means the cube is not moving it self towards it own X but the X of the world coordinates.

 

Now, I put inside the cube inside a group, then turn the cube 45 degrees and type on Translate X (10) . This time the cube does indeed what it suppose to do (it goes diagonal 10 units), but when I animate I would like to animate the cube (move it up, down, forward) but also turn it on all its axis (Y, X , Z), but rotate the cube not its group which is the solution the solution that you proposed. 

 

If this is the only solution for this problem (rotating only the group) then the group should be a child of the cube with a parent constraint so the group's pivet point will be always attached to the cube's pivet point. I have try different way to do exactly that but I it hasn't work yet.

 

The problem of having the group not following the center of the cube is that after a few minutes of movements the cube is far from the group center location and also the moment you start rotating the group when the cube is already far for its original position (the center of group) then the cube start turning around the group like a satellite in orbit.

0 Likes
Message 4 of 4

brentmc
Autodesk
Autodesk

Hi,

 

The channel box shows the transform attributes of the cube itself.

As I said the order in which the transforms are applied is scaling, followed by rotation and finally translation. So translation happens in parent-space. (which is the same as world-space if the object has no parents)

 

Controlling how transformations are applied is the domain of rigging which involves grouping and constraints. If you were creating say a solar system model you could use groups to make planets orbit around the sun and still be able to rotate each planet around its own axis. (https://www.youtube.com/watch?v=JRsr2Z0LZ48)

 

This is too big of a topic to cover here but for your purposes you should be aware that transforms are applied from the bottom up until you get to the scene root which is also called world-space.

If you simply want to animate a cube freely then indeed you should not use a group. Just move the cube using the object-space manipulator and set keyframes. The end result will be what you want even though keys will be set on multiple channels as noted in your original post and not correspond 1:1 with what you see in the channel box.

You may find the Modeling Toolkit panel useful since it will show you the translation values relative to the current axis orientation. e.g. in object-space as show below:


screenshot_000055.png vs. screenshot_000056.png
--

Brent

Brent McPherson
Principle Engineer
0 Likes