PDA

View Full Version : transform inheritance


osxrules
05-05-2007, 03:28 PM
If I take an object and add a move node to it and then move it somewhere and I add a further move node, why does the second one act from the original object's location and not inherit the first move node?

For example, take a color node, add a move node to it and move it off to the side. Now add another move node and the controls for this one are not where the actual object currently is but back where it started. This makes it very difficult to add two successive transforms to the same object because their centers aren't in the same place.

Is there a way to make node the controls appear where I want?

Hugh
05-05-2007, 08:48 PM
It's because of the transformation order.

You can do what you're wanting to do by adding a new transform node BEFORE the one you've already created.

osxrules
05-06-2007, 05:03 PM
It's because of the transformation order.

You can do what you're wanting to do by adding a new transform node BEFORE the one you've already created.

Sure, that works when I am moving the new node, but when I then tweak the original transform node again (which is now at the bottom), those controls are now away from the clip.

Say I was using a 3D package, if I make a transform group and then make an object the child of that group, all of the transformation properties are now relative to the parent (some packages give you the choice to inherit the transform or not) and the center of the child is the same as the center of the parent.

So say I have an object that is at 0,0 and I move it to 30,30. If I add another transform, then the center point of this is by default at 30,30 (likewise the on-screen controls) and not 0,0. In Shake it's put back to 0,0 every time.

Now, it's fairly simple to hold command and move the object center crosshair to be in the same place as the parent transform but the rest of the on-screen controls don't move with it.

So here is a clip with a transform added.
http://img516.imageshack.us/img516/3944/picture3cg8.png
Here, I move it to the left and all the controls follow the clip.
http://img516.imageshack.us/img516/3689/picture4np0.png
Here I add another transform but the center of the node and controls are no longer where the clip is.
http://img256.imageshack.us/img256/3881/picture5ij8.png
The two centers are not together.
http://img233.imageshack.us/img233/3986/picture6pw8.png
So, I move the center of the node over the parent but the rest of the controls stay where they are.
http://img353.imageshack.us/img353/4839/picture7bt0.png

This means when I'm using the onscreen controls to manipulate the scale or rotation, the clip itself can be on the other side of the screen, making it very tricky to do. Also, it's quite difficult to accurately position the two centers exactly on top of each other. What I end up doing is using expressions for the center position of the lower node. In the example, I would do:

Move3D2.xCenter = Move3D1.xCenter+Move3D1.xPan
Move3D2.yCenter = Move3D1.yCenter+Move3D1.yPan

So while that gives me the transforms I want, the on-screen controls don't move relative to the center. Also, that example is a simple one, sometimes the transforms are further down the tree making expressions harder to use. I was just hoping Shake had a way to make the center points of child nodes remain relative to their parents and that the on-screen controls would match the center point.

Hugh
05-07-2007, 03:02 PM
When you add a new Move2D node, it acts as if what it's getting in (an image off to the left) is what it's moving.

The transform order does make perfect sense - if you want it to have been rotated or scaled before it moves, then put the Move2D node for that on before the translate is done.

osxrules
05-08-2007, 02:10 AM
When you add a new Move2D node, it acts as if what it's getting in (an image off to the left) is what it's moving.

The transform order does make perfect sense - if you want it to have been rotated or scaled before it moves, then put the Move2D node for that on before the translate is done.

Now I think about it, it does make sense. What confused me is that it's the opposite way from a hierarchy in a 3D program. The source clip is the object being manipulated and it appears at the top. In say Maya's outliner, that object would be at the bottom. So yeah adding the Move node above instead of below makes perfect sense because the bottom transform is the parent.

CGTalk Moderation
05-08-2007, 02:10 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.