Trying to make following character's body wiggle a bit, using the puppet tool:

enter image description here

The face and arms are on separate layers as they will need to move independently. When the body moves via the puppet pins, the face and arms stay in their original positions. How can I 'attach' them to their assigned positions on the body?

2 Answers 2


If you put a puppet pin at the point where the arms attach, then you can tie the position of the arm layer to the position of the puppet pin using an expression. This will attach the layer to the puppet pin, allowing you to move the pin and the layer it is on and have the arm follow.

It's easy to do, with no knowledge of scripting really required.

enter image description here

So say your body layer is called "Body" and it has a puppet pin called "L_Shoulder", which is on the body at the point where you want to attach the left arm. The left arm layer should have its anchor point at the point that you want it to pivot on, which coresponds to the L_Shoulder on the body layer.

enter image description here

Here's what you do:

  • First, make the arm layer a child of the body.
  • Now apply an expression to its position property (hit alt/opt and click on the stopwatch).

The expression we want is this:

thisComp.layer("Body").effect("Puppet").arap.mesh("Mesh 1").deform("L_Shoulder").position

This looks very difficult to type, but fortunately we don't have to. Next to the expression editor text box is a pickwhip, that we can use to select properties and values. After you alt/option-click the stopwatch, drag the pickwhip to the position property of the puppet pin, and it will fill it all in for you.


Because the puppet pin positions are relative to the layer this works well. As the arm is a parent of the child, setting its position relative to the body layer is exactly what you want.

If the arm is not a child of the body it gets much more complicated: you have to use the toComp method of the body layer to get the relative position of the pin to the composition space, and then you have to apply expressions to link the other transformation properties of the body layer, but it can be done.

  • 1
    Thanks so much, that's really helpful! I'll try that. Cheers!
    – Aaron
    Commented May 20, 2015 at 13:14

The puppet pin tool is designed to let you wiggle the limbs around on a single layer. You place pins at the points where the joints meet, and at the ends of the limbs, then move the pins around using keyframes. AE warps the image to make it look as though you've animated the whole image... Not always brilliantly..

If you have the limbs on different layers, you need to look at using a character rig instead of the puppet tool.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.