View Full Version : how to parent movement but not scaling?

05 May 2007, 10:20 AM
I want to build an animation of a character which consists of sticks ( a long cylinder) and balls. The ball is at the end of the stick and follows the movement of the stick via parenting. Rotating and moving the stick is fine: the ball follows. But scaling the stick also scales the ball, which is not my intention. And scaling the stick also makes the stick thicker or thinner and I only want to scale the length of the stick.
So, my questions are:
How can I limit the scaling of the stick to only the length of the stick?
How can I keep my ball always at the end of the stick?

05 May 2007, 08:19 PM
Constraints can be used to copy location/rotation, etc. I have not used this for much, but I have used it some - make sure you ctrl-A each part before adding the constraint. The wiki page has a lot of detail on this, mostly I use it for track-to constraints with the camera.

05 May 2007, 09:03 PM
I can't really think of anything right now to stop the ball from scaling along, but if you want to constrain scaling either use the constraints (press mmb a few times, with/without shift )or use the manipulator for that. or change the ipo curves for one scale axis only.

05 May 2007, 10:13 AM
Scaling in one local direction is easy by pressing szz. And scaling is transferred to the sons (or are they daughters?). The trick is: do not let something that has to be scaled be a parent of something which should not be scaled.
Following these rules, I found a good solution:
A bal is the parent of a stick. This stick starts at the center of the ball and is so short that it is totally within the ball. This stick is the parent of a second stick which points in the same direction and can be much longer. The first short stick is also the parent of the second ball which is located at the top of the second stick.
For rotating I can rotate the short stick: the rest follows.
For making the stick longer or shorter I select the second stick and press szz for scaling in just one local axis. And then I select the second ball and press gzz for moving him back to the tip of the long stick. The final result is just what I need.

05 May 2007, 11:55 AM
To me it sounds like you should be using an armature rig to drive this animation. You get a lot more flexibility, plus the Hinge button, which lets you only propogate positioning to child bones while ignoring rotation and scale. Actually, using an armature with Hinge is exactly what you want to do.

05 May 2007, 06:12 PM
The only experience I have with armature sofar is the Tutorial "Gus". I thought that armatures are mostly useful if you want to deform the driven mesh, not for fixed meshes. And the concept of hinge in an armature is still new for me. I have been playing with an armature but also with that armature I had the scaling problem.
I shall just have to do more tutorials on armatures and animation. Any suggestion which tutorials are best for me to solve my problem efficiently?

05 May 2007, 06:07 PM
I have been experimenting with armatures and can now move things around without them being transformed by scaling of the parent bone. However, the objects which are the direct child of the bone do scale with the bone and I cannot limit this scaling to one local axis. This means that the thickness of the sticks vary with the length of the bone and the size of the ball also changes. I would like to use an armature for the kinematics of it but if I can't solve this scaling it is not usable for my purpose.

05 May 2007, 08:33 PM
why not join the objects, or give them an armature modifier as well? I tried a tiny test setup right now with just subdivided cubes, and it just works.
Maybe because of the trees you canot see the forest? try to step back and maybe think of another idea. Or post your blend and we can try to check it ouy.

05 May 2007, 08:44 AM
I have tried to figure out what you mean but I did not succeed. Therefore I give you now my file on which I have been working:
The animation which is made of one of the figurs is exactly the kind of movement I want. But it is done without an armature. And it would be really neat to do this with an armature to be able to use the kinematic functions.
Next to the animated figure you see a similar figur with an armature in it. When I move this around it's okay (even better), but when I start scaling the problems begin. What am I doing wrong here?

CGTalk Moderation
05 May 2007, 08:44 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.