Though the Puppet tools work within an effect (the Puppet effect), you don’t apply the effect using the Effect menu or the Effects & Presets panel. Use the Puppet tools in the Tools panel to directly apply and work with the effect in the Layer panel or Composition panel.
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 moves, what parts remain rigid, and what parts are 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 place the first pin, the area within an outline is automatically divided into a mesh of triangles. An outline is only visible when the Puppet effect has been applied and a Puppet tool pointer is over the area that the outline defines. (See How the Puppet effect creates outlines.) Each part of the mesh is also associated with the pixels of the image, so the pixels move with the mesh.
To show the mesh, select Show in the Tools panel.
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.
Don’t animate the position or scale of a continuously rasterized layer with layer transformations if you are also animating the layer with the Puppet tools. The render order for continuously rasterized layers—such as shape layers and text layers—is different from the render order for raster layers. You can precompose the shape layer and use the Puppet tools on the precomposition layer, or you can use the Puppet tools to transform the shapes within the layer. (See Render order and collapsing transformations and Continuously rasterize a layer containing vector graphics.)
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.
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.
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.
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.
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.
Click any nontransparent pixel of a raster layer to apply the Puppet effect and create a mesh for the outline created by auto-tracing the alpha channel of a layer.
Click within a closed path on a vector layer to apply the Puppet effect and create a mesh for the outline defined by that path.
Click within a closed, unlocked mask to apply the Puppet effect and create a mesh for the outline defined by the mask path.
Click outside all closed paths on a vector layer to apply the Puppet effect without creating a mesh. Outlines are created for paths on the layer, though an outline is only visible when a Puppet tool pointer is over the area that the outline defines. Place the pointer over the area enclosed by a path to see the outline in which a mesh will be created if you click that point. (See How the Puppet effect creates outlines.) Click within an outline to create a mesh.
A Deform pin is placed where you clicked to create the mesh.
If an image is too complex for the Puppet effect to generate a mesh with the current Triangle value, a “Mesh Generation Failed” message appears in the Info panel. Increase the Triangle value in the Tools panel and try again.
Use as few pins as possible to achieve your desired result. The natural deformation provided by the Puppet effect can be lost if you over-constrain the image. Just add pins to the parts of the figure that you know that you want to control. For example, when animating a person waving, add a pin to each foot to hold them to the ground, and add a pin to the waving hand.
You can modify the motion paths of the Deform pins using the same techniques that you use to modify any other motion paths.
After Effects no longer draws the tinted fill for the original layer region when hovering using 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.
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.
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.
This procedure assumes that you have already placed Deform pins in the object to animate. For information on placing Deform pins, see Manually animate an image with the Puppet tools.
Recording of motion begins when you click to begin the drag. Recording ends when you release the mouse button.
The color of the outline for the mesh for which motion is being sketched is the same as the color of the pin (yellow). Reference outlines, for other meshes on the same layer, match the label color of the layer.
The current-time indicator returns to the time at which recording began, so that you can repeat the recording operation with more Deform pins or redo the recording operation with the same pins.
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.
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.
Sometimes, you want to animate an image from an initial position, through an intermediate position, and back to the initial position. Rather than manually dragging the pins back to their initial positions at the end of the animation, place the current-time indicator at the end time and click Reset. Only the keyframes at the current time are reset.
A higher number of triangles gives smoother results but takes longer to render. Small objects, like text characters, usually distort well with only 50 triangles, whereas a large figure may require 500. The number of triangles used may not match the Triangle value exactly; this value is a target only.
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:
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.
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.
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:
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.
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.
The Puppet tools and Puppet effect in After Effects use an enhanced puppet engine called the Advanced Puppet Tool, and the old engine is called the Legacy puppet engine. In After Effects 15.1 and later, the Advanced puppet engine is the default engine for your projects. Projects saved in earlier versions of After Effects use the legacy Puppet engine by default. To access the Advanced Puppet Tools, click the Pin icon in the Toolbar and the Puppet group is displayed in the Timeline panel.
At the core, the advanced puppet engine use similar concept as the legacy puppet engine, the differences being:
Refer to the table below to understand the key differences between the Legacy and Advanced puppet engines:
Legacy puppet engine
Advanced puppet engine
Triangle control: Specifies the highest number of triangles allowed for a mesh. Legacy Puppet Tool uses smart triangle placement in the mesh with a higher density of triangles to achieve better results.
Density control replaces the Triangle control. Density controls the layout, size, and amount of triangles automatically calculated within a mesh. With higher density, the maximum and minimum triangle sizes reduce, you can add more triangles between pins, and the maximum number of triangles allowed have increased. Lower the density, the triangle size increases and creates a sparse mesh.
Starch pins are under the Stiffness group.
Starch pin are under the Deform group and the Stiffness group is discontinued.
Starch pins have Extent control to manipulate the extent to which the pin impacts the puppet.
Starch pins do not have Extent control, but can impact the stiffness in the region between Starch pins and other pins. The Advanced puppet engine interprets the Starch pins as Position pins.
You can't convert Starch pins into any other form of pins.
You can convert Starch pins into Position pins with the Pin Type property.
No option of Mesh Rotation Refinement.
Mesh Rotation Refinement, specifies the maximum amount any position or starch pin rotates to minimize deformation. Higher the value, higher is the amount of rotation (flexible deformation), and lower the value, lower is the amount of rotation (stiff deformation).
You can use the Puppet Engine control to choose between the Advanced puppet engine and the Legacy puppet engine. To choose, in the Timeline panel, click the drop-down menu next to Puppet engine, and select the engine. You can switch between the two engines but After Effects recommends that you avoid switching after you place or animate pins for the following reasons:
The Advanced Puppet Tool offers the following types of pins to animate your puppets. To apply these pins, select the pin type in the Puppet Tool menu in the toolbar.
The advanced pins and bend pins have controls to adjust scale and rotation:
When you select bend pins or advanced pins in the Puppet Tool panel, it displays a rotation and scale control - larger, outer circle with a single square handle.
Use the following steps to change the rotation and scale controls:
To change rotation, click anywhere on the outer circle and drag around the circle.
Hold the Shift key while you drag to constrain rotation to 15 degree increments.
To change scale, click the square handle and drag in or out from the outer circle.
Hold the Shift key while you drag to constrain scale to 5% increments.