Answers.Body: <p>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..</p>
  
  <p>If you have the limbs on different layers, you need to look at using a character rig instead of the puppet tool.</p>
  
  <p><a href="http://lesterbanks.com/2011/03/rigging-multi-layered-characters-in-after-effects/" rel="nofollow">http://lesterbanks.com/2011/03/rigging-multi-layered-characters-in-after-effects/</a></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-05-18T16:19:03.667Z
Answers.LastActivityDate: 2015-05-18T16:19:03.667Z
Answers.UserDisplayName: tomh
Answers.Body: <p>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.</p>
  
  <p>It's easy to do, with no knowledge of scripting really required.</p>
  
  <p><img src="https://i.sstatic.net/QgB9y.png" alt="enter image description here"></p>
  
  <p>So say your body layer is called <code>"Body"</code> and it has a puppet pin called <code>"L_Shoulder"</code>, 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 <code>L_Shoulder</code> on the body layer.</p>
  
  <p><img src="https://i.sstatic.net/g81hW.png" alt="enter image description here"></p>
  
  <p>Here's what you do:</p>
  
  <ul>
  <li>First, make the arm layer a child of the body.</li>
  <li>Now apply an expression to its position property (hit <kbd>alt/opt</kbd> and click on the stopwatch). </li>
  </ul>
  
  <p>The expression we want is this:</p>
  
  <pre class="lang-js prettyprint-override"><code>thisComp.layer("Body").effect("Puppet").arap.mesh("Mesh 1").deform("L_Shoulder").position
  </code></pre>
  
  <p>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 <kbd>alt/option</kbd>-click the stopwatch, drag the pickwhip to the position property of the puppet pin, and it will fill it all in for you.</p>
  
  <p><img src="https://i.sstatic.net/j88bh.png" alt="pickwhip"></p>
  
  <p>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.</p>
  
  <p>If the arm is not a child of the body it gets much more complicated: you have to use the <code>toComp</code> 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.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-05-20T13:14:46.443Z
Answers.Text: Thanks so much, that's really helpful! I'll try that. Cheers!
Answers.UserDisplayName: Aaron
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-05-20T08:16:43.163Z
Answers.LastActivityDate: 2015-05-25T01:47:58.690Z
Answers.LastEditDate: 2015-05-25T01:47:58.690Z
Answers.UserDisplayName: stib
Body: <p>Trying to make following character's body wiggle a bit, using the <strong>puppet tool</strong>:</p>
  
  <p><img src="https://i.sstatic.net/HTdIg.png" alt="enter image description here"></p>
  
  <p>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. <strong>How can I 'attach' them to their assigned positions on the body?</strong> </p>
  
Tags: <after-effects><animation>
Title: Puppet tool - how do I make the arms stay attached to the same points on the body?
UserDisplayName: Aaron
ThreadText: # Puppet tool - how do I make the arms stay attached to the same points on the body?
  
  (Asked by: username_0 on 2015-05-14)
  
  Trying to make following character's body wiggle a bit, using the **puppet tool**:
  
  ![enter image description here](https://i.sstatic.net/HTdIg.png)
  
  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?**
  
  **Tags:** after-effects, animation
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_2 on 2015-05-20. Score: 3 | Accepted answer
  
  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](https://i.sstatic.net/QgB9y.png)
  
  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](https://i.sstatic.net/g81hW.png)
  
  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:
  
  ```js
  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.
  
  ![pickwhip](https://i.sstatic.net/j88bh.png)
  
  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.
  
  > **Comments:**
  > **username_0**: Thanks so much, that's really helpful! I'll try that. Cheers!  
  
  ---
  
  ### Answer by username_1 on 2015-05-18. Score: 1
  
  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.
  
  <http://lesterbanks.com/2011/03/rigging-multi-layered-characters-in-after-effects/>
  
  
  ---
  
  