6 Replies Latest reply on Apr 22, 2008 6:46 PM by Ko Maruyama

    PUPPET TOOL - Pinning multiple layers.  Possible?

      I have just started using the puppet tool and it's an amazing improvement from mesh warp. I can't seem to find a way though, to pin multiple layers together, so that if one layer "deforms", then the pinned layers follow.

      Is this possible? If not, why??

      At the moment, if i deform the torso layer of a character, i have to manually move the upper_arm layer so that it stays connected to the shoulder.
        • 1. Re: PUPPET TOOL - Pinning multiple layers.  Possible?
          Ko Maruyama User Group Manager
          You'll need to pin them individually. AE uses the alpha to generate the mesh.

          You can precomp all of these layers together, then puppet the precomp.

          Alternatively, you can express the position of the pins (shoulder and upper arm) so they appear in the same location.
          • 2. Re: PUPPET TOOL - Pinning multiple layers.  Possible?
            Mylenium Most Valuable Participant
            >Is this possible?

            Nope, not except for pre-composing.

            >If not, why??

            The mesh is intrinsic, meaning it is being generated from the layer's Alpha at the point in time when the tool is first applied. As this implies, the mesh is always bound to the layer and does not exist as a separate entity. Therefore it cannot be applied multiple layers.

            Mylenium
            • 3. Re: PUPPET TOOL - Pinning multiple layers.  Possible?
              Ko Maruyama User Group Manager
              And yet, ironically, you can make multiple images with a single mesh.

              EXAMPLE:

              1. Make a single pin (generating mesh)

              2. With move tool, move the mesh'ed object away from original location.

              3. Use pin tool again - hover over original location (or until you see ghost yellow outline). Then Click. New Mesh = reproduces image in new mesh (see timeline)

              But it still works the way Lutz explains: using the layer's alpha and bitmap data.
              • 4. Re: PUPPET TOOL - Pinning multiple layers.  Possible?
                Level 1
                Thanks for the help, I decided to use expressions to connect the arm's position to a puppet pin on the torso.

                one problem I have run into (and solved), was that I had to take the torso's anchor point and position into account as well. is there a better way to do this? seems like a lot of code to me for something so so simple.

                I add the position of the pin to the position of the torso, then subtract that from its anchor point. Then I add the arm's position to that, so I can still move the arm around if I want.

                >target = add(thisComp.layer("torso").transform.position, thisComp.layer("torso").effect("Puppet").arap.mesh("Mesh 1").deform("Puppet Pin 5").position);

                >target = sub(target, thisComp.layer("torso").transform.anchorPoint);

                >add(transform.position, target);
                • 5. Re: PUPPET TOOL - Pinning multiple layers.  Possible?
                  Level 1
                  D'oh, I just realized that old-school parenting takes care of all of that. This code is sufficient if the arm is parented to the torso as well.

                  >layer = "Layer 1";
                  pin = "Puppet Pin 5";

                  >target = thisComp.layer(layer).effect("Puppet").arap.mesh("Mesh 1").deform(pin).position;

                  >add(transform.position, target);
                  • 6. Re: PUPPET TOOL - Pinning multiple layers.  Possible?
                    Ko Maruyama User Group Manager
                    I had set up a project for a student (not similar) with frog legs. The legs were merely parented to the body.