Puppet tools overview and resources
Use the Puppet tools to quickly add natural motion to raster images and vector graphics, including still images, shapes, and text characters.
The Puppet effect works by deforming part of an image according to the positions of pins that you place and move. These pins define what parts of the image should move, what parts should remain rigid, and what parts should be in front when parts overlap.
Each Puppet tool is used to place and modify a specific type of pin:
- Puppet Pin tool

- Use this tool to place and move Deform pins.
- Puppet Overlap tool

- Use this tool to place Overlap pins, which indicate which parts of an image should appear in front of others when distortion causes parts of the image to overlap one another.
- Puppet Starch tool

- Use this tool to place Starch pins, which stiffen parts of the image so that they are distorted less.

When you move one or more Deform pins, the mesh changes shape to accommodate this movement, while keeping the overall mesh as rigid as possible. The result is that a movement in one part of the image causes natural, life-like movement in other parts of the image.
For example, if you place Deform pins in a person’s feet and hands and then move one of the hands to make it wave, the motion in the attached arm is large, but the motion in the waist is small, just as in the real world.
If a single animated Deform pin is selected, its Position keyframes are visible in the Composition panel and Layer panel as a motion path. You can work with these motion paths as you work with other motion paths, including setting keyframes to rove across time. (See Smooth motion with roving keyframes.)
You can have multiple meshes on one layer. Having multiple meshes on one layer is useful for deforming several parts of an image individually—such as text characters—as well as for deforming multiple instances of the same part of an image, each with a different deformation.
The original, undistorted mesh is calculated at the current frame at the time at which you apply the effect. The mesh does not change to accommodate motion in a layer based on motion footage, nor does the mesh update if you replace a layer’s source footage item.
The motion created by the Puppet tools is sampled by motion blur if motion blur is enabled for the layer and the composition, though the number of samples used is half of the value specified by the Samples Per Frame value. (See Motion blur.)
You can use expressions to link the positions
of Deform pins to motion tracking data, audio amplitude keyframes,
or any other properties.Online resources for the Puppet tools
For a video tutorial on using the Puppet tools, go to the Adobe website.
Trish and Chris Meyer give tips for using the Puppet tools on the ProVideo Coalition website.
Aharon Rabinowitz provides a tutorial on the Creative COW website that shows a creative way to use the Puppet tools with a particle generator to simulate airflow over a car.
Eran Stern provides a video tutorial on the Creative COW website that shows how to duplicate an object using the Puppet Pin tool.
Richard Harrington provides a pair of video tutorials that show how to prepare an image in Photoshop for animation in After Effects with the Puppet tools:
Robert Powers provides a video tutorial on the Slippery Rock NYC website that demonstrates the use of parenting and the Puppet tools to animate a character.
Dave Scotland provides a video tutorial on the CG Swot website that demonstrates how to create a looping character animation using the Puppet tools.
Kert Gartner provides a video tutorial on the VFX Haiku website that shows how to add organic motion to images using the wiggle expression method on Puppet pins.
Daniel Gies provides a detailed series of video tutorials in which he demonstrates the use of inverse kinematics and the Puppet tools to rig and animate a character.
Manually animate an image with the Puppet tools
The stopwatch switch
is
automatically set for the Position property of a Deform pin as soon
as the pin is created. Therefore, a keyframe is set or modified each
time that you change the position of a Deform pin. This auto-keyframing
is unlike most properties in After Effects, for which you must explicitly
set the stopwatch switch by adding a keyframe or an expression to
animate each property. The auto-animation of Deform pins makes it
convenient to add them and animate them in the Composition panel
or Layer panel, without manipulating the properties in the Timeline
panel.
You can modify the motion paths of the Deform pins using the same techniques that you use to modify any other motion paths.
Record animation by sketching motion with the Puppet Pin tool
You can sketch the motion path of one or more Deform pins in real time—or at a speed that you specify—much as you can sketch the motion path of a layer using Motion Sketch.
If your composition contains audio, you can sketch motion in time with the audio.
Before you begin recording motion, you may want to configure settings for recording. To open the Puppet Record Options dialog box, click Record Options in the Tools panel.
- Speed
- The ratio of the speed of the recorded motion to speed of playback. If Speed is 100%, the motion is played back at the speed at which it was recorded. If Speed is greater than 100%, the motion plays back slower than it was recorded.
- Smoothing
- Set this value higher to remove more extraneous keyframes from the motion path as it’s drawn. Creating fewer keyframes makes motion smoother.
- Use Draft Deformation
- The distorted outline that is shown during recording does not take Starch pins into account. This option can improve performance for a complex mesh.
You can modify the motion paths of the Deform pins using the same techniques that you use to modify any other motion paths. The motion path for a pin is shown only if it is the only pin selected.
Try creating several duplicate meshes and sketching
motion for each mesh. When you have multiple meshes in the same
instance of the Puppet effect, you can sketch motion for one mesh
while seeing the reference outlines of the others, allowing you
to follow their movements, either roughly or precisely.How the Puppet effect creates outlines
When a Puppet mesh is created, its boundaries are determined by an outline, which can be defined by any of the following types of closed paths:
An unlocked mask path
A shape path on a shape layer
A text character’s outline
If a layer has no unlocked masks, shapes, or text characters on it when you apply the Puppet effect, it uses Auto-trace to create paths from the alpha channel. These paths are only used by the Puppet effect in the determination of outlines and do not appear as masks on the layer. If the layer is a raster layer with no alpha channel, the result is a single rectangular path around the bounds of the layer. For a complex image, or to configure Auto-trace settings, use Auto-trace before using the Puppet tools. (See Create a mask from channel values with Auto-trace.)
A text character that consists of multiple disjoint closed paths (such as the letter i) is treated as multiple separate paths.
The stroke of a shape or text character is not used in the determination of outlines; only the path is used. To encompass a stroke within a mesh created from such items, increase the Expansion value. The default value of 3 pixels for Expansion encompasses a stroke that extends 3 pixels or less from its path.
Apply
paint strokes to a layer using the Brush tool with the Paint On
Transparent option. Painting with this option selected creates a
raster layer with only the paint strokes, defined by an alpha channel.
You can then use the Puppet tools to animate the paint strokes.
Do not use a mask on the layer.If multiple masks, shapes, or characters overlap on the same layer, an outline is created from the union of the overlapping shapes, overlapping characters, or overlapping masks. If a mask overlaps a text character or shape, outlines are created for the entire character or shape, for the portion of the character or shape that is inside the mask, and for the mask itself.
To distort multiple disjoint characters or shapes
as one object, surround the individual objects with a mask (with
mask mode set to None), and use the mask path as the outline with
which to create the mesh. You can delete the mask after you have created
the mesh.If the Puppet effect has already been applied to a layer, outlines appear with a yellow highlight as you move a Puppet tool pointer over them. You can choose the outline in which to place an initial pin to create a mesh. A mesh is created each time that you click within an outline with a Puppet tool.
If the Puppet effect has not already been applied to a layer, outlines for that layer have not yet been calculated. When you click, the Puppet effect calculates outlines and determines whether you have clicked within an outline. If so, it creates a mesh defined by the outline in which you clicked. Otherwise, you can move the pointer around in the layer to select the outline in which to place a pin and create a mesh. Moving the pointer around in the layer is useful for seeing the outlines of various objects and choosing which outlines to use to create a mesh.

Puppet Overlap controls
When you are distorting one part of an image, you may want to control which parts of the image appear in front of other parts. For example, you may want to keep an arm in front of the face as you make the arm wave. Use the Puppet Overlap tool to apply Overlap pins to the parts of an object for which you want to control apparent depth.
You apply Puppet Overlap pins to the original outline, not to the deformed image.

Each Overlap pin has the following properties:
- In Front
- The apparent proximity to the viewer. The influence of Overlap
pins is cumulative, meaning that the In Front values are added together
for places on the mesh where extents overlap. You can use negative
In Front values to cancel out the influence of another Overlap pin
at a specific location.
An area of the mesh that is not influenced by Overlap pins has an implicit In Front value of 0. The default value for a new Overlap pin is 50.
When animating
the In Front value, you should usually use Hold keyframes. You do
not usually want to interpolate gradually from an element being
in front to an element being in back. - Extent
- How far from the Overlap pin its influence extends. The influence ends abruptly; it does not decrease gradually with distance from the pin. Extent is indicated visually by a fill in the affected parts of the mesh. The fill is dark if In Front is negative; the fill is light if In Front is positive.
Puppet Starch controls
When you are distorting one part of an image, you may want to prevent other parts from being distorted. For example, you may want to preserve the rigidity of an arm as you move a hand to make it wave. Use the Puppet Starch tool to apply Starch pins to the part of an object that you want to keep rigid.
You apply Puppet Starch pins to the original outline, not to the deformed image.

Each Starch pin has the following properties:
- Amount
- The strength of the stiffening agent. The influence of Starch
pins is cumulative, meaning that the Amount values are added together
for places on the mesh where extents overlap. You can use negative
Amount values to cancel out the influence of another Starch pin
at a specific location.
If you notice image
tearing near a Deform pin, use a Starch pin with a very small Amount
value (less than 0.1) near the Deform pin. Small Amount values are
good for maintaining image integrity without introducing much rigidity. - Extent
- How far from the Starch pin its influence extends. The influence ends abruptly; it does not decrease gradually with distance from the pin. Extent is indicated visually by a pale fill in the affected parts of the mesh.
In addition to animating still images, you can use the Puppet effect on a layer with motion footage as its source. For example, you could distort the contents of the entire composition frame to match the motion of an object within the frame. In this case, consider creating a mesh for the entire layer, using the layer boundaries as the outline, and using the Puppet Starch tool around the edges to prevent the edges of the layer from distorting.
. To
activate the Move tool, place the pointer on a pin while either
the Selection tool
or
the corresponding Puppet tool is active.
to
drag a marquee-selection box around them. To activate the marquee-selection
tool, place the pointer for a Puppet tool outside all meshes and outlines
or hold the Alt (Windows) or Option (Mac OS) key.