This content has been marked as final. Show 6 replies
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.
>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.
And yet, ironically, you can make multiple images with a single mesh.
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.
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);
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;
I had set up a project for a student (not similar) with frog legs. The legs were merely parented to the body.