12oakhill said 1 year ago 12/8/2012 12:01:29 PM EDT

The Puppet Warp tool was introduced in Photoshop CS5, with which this tutorial was made. As far as possible, this is the only tool I will discuss here, so I'm starting with an image of a Flamingo that I've already masked, copied, and added a solid background layer.
The selected layer can be changed to a Smart Object prior to using the Puppet Warp tool, to non-destructively distort the image. I haven't done that here, but I wanted to mention it as something to consider, depending on the situation.
Also, Puppet Warp can be used on layer and vector masks and Text, using the same methods used on image layers here.

(click on any of the images below to open a larger version)
Photo credit: Robert Claypool



[Edited by User on 12/10/2012 7:31:40 PM]

I'm a fan of everyone who tries.
12oakhill said 1 year ago 12/8/2012 12:49:44 PM EDT

Puppet Warp is a transform and distort tool, like "Warp" and "Liquify" but it has its own place in the CS5 menu.

Go to Edit>Puppet Warp



[Edited by User on 12/9/2012 11:59:00 AM]

I'm a fan of everyone who tries.
12oakhill said 1 year ago 12/8/2012 1:09:42 PM EDT

The two main components of the Puppet Warp tool are "mesh" and "pins". The mesh covers the object to be distorted, and the pins are the handles to move it with. The pins also allow the creation of a "layer within a layer" effect, which is something unique to Puppet Warp.
As soon as Puppet Warp is applied, the mesh appears on the entire active layer (or a smaller selection, by using any of the selection tools prior to applying Puppet Warp). First, we'll discuss the mesh, then later discuss the pins.

(1) Here, I lowered the opacity of the Flamingo layer to 50% to make the mesh easier to see.

(2) There are a few ways to modify the mesh to alter its properties. This shows the options for making the mesh more or less flexible, depending on the desired result. For now, we'll stay with "Normal".



[Edited by User on 12/9/2012 3:33:09 PM]

I'm a fan of everyone who tries.
12oakhill said 1 year ago 12/9/2012 3:48:28 PM EDT

Go to "Density" to create a mesh with more or fewer points.



[Edited by User on 12/9/2012 5:05:42 PM]

I'm a fan of everyone who tries.
12oakhill said 1 year ago 12/9/2012 4:07:51 PM EDT

We'll use normal density on the mesh now.
To make the overall size of the mesh larger (or smaller) go to "Expansion". Click and use the slider where the arrows indicate. This image shows a mesh expansion of 80 pixels.


I'm a fan of everyone who tries.
12oakhill said 1 year ago 12/9/2012 4:24:16 PM EDT

We'll use an expansion value of 2 pixels for now.
It's possible to hide the mesh completely by unchecking the next box "Show Mesh". If we uncheck it now, though, it will just look like the original image, so I'll wait until later to work on another example with a hidden mesh. I prefer to hide the mesh while working because it's easier to see the results of the transformation, but the pins will still be visible.

Whether the mesh is visible or not, while in Puppet Warp mode, the cursor arrow changes appearance to look like a push-pin.


Clicking it within the mesh will create a new pin.
Each new pin will be a yellow circle with a central black dot. This will now be the "active" pin. When the next "new pin" point is selected, the previous pin becomes just a yellow circle and becomes an "anchor" pin. (It is possible to change the order of the active pin within the anchors, and to have more than one active pin, but more on that later.)
We'll start with a very simple transformation, by straightening out the Flamingo's curved neck.
In the next image, the pins were created in the numerical order shown. Pins 1 and 2 are anchors while the transformation is applied to active pin 3, by clicking and dragging it in the direction shown by the white arrow.



The next image shows the result. Notice that all the unanchored portions of the image are shifted along with the active pin.



[Edited by User on 12/12/2012 7:31:59 PM]

I'm a fan of everyone who tries.
12oakhill said 1 year ago 12/9/2012 8:20:20 PM EDT

The next three steps are similar to the last step, so I've combined them into one image.
By adding new pins and performing sequential transformations shown in the next image as 1-2-3, we get the following result. To save the changes, click on the check mark shown in 4.



[Edited by User on 12/11/2012 7:02:53 PM]

I'm a fan of everyone who tries.
12oakhill said 1 year ago 12/9/2012 8:36:32 PM EDT

Puppet Warp is no longer active and the mesh and pins disappear. I've turned the opacity of the Flamingo back to 100%. It could use some cropping at the bottom and some lighting adjustments, but we'll leave it at that and continue the tutorial.



This simple transformation could probably have been done just as well with Liquify or even Warp, so why bother with Puppet Warp? Well, the previous exercise was just an introduction to the various aspects of the tool itself. In the next example we'll look at something that is unique to Puppet Warp and can't be done with any other tool (in CS5, at least) that is, the creation of a "layer within a layer" effect.


[Edited by User on 12/10/2012 9:32:26 PM]

I'm a fan of everyone who tries.
12oakhill said 1 year ago 12/10/2012 8:58:28 PM EDT

Pressing Alt (pc) or Option (mac) then clicking directly on a pin will delete that pin. However, pressing Alt (Option) and clicking anywhere other than the pins will produce the "rotate pin" mechanism around the active pin, which is shown in the image below. (I'll be working without a visible mesh from now on.)

Clicking and dragging will cause rotation around the active pin of the unanchored parts of the image.
To show this, the original image is turned down to 50% opacity, underlying the rotated image, which is at full opacity. Notice that the active pin and the anchor pins are at the same positions in both images. The unanchored parts of the image, I have rotated -76 degrees around the active pin.
The information about the rotation (red oval) changed automatically as I performed the rotation, but it is also possible to type in a number here to get the desired rotation.




[Edited by User on 12/10/2012 10:39:38 PM]

I'm a fan of everyone who tries.
12oakhill said 1 year ago 12/10/2012 10:16:47 PM EDT

I'll get rid of the original image and keep the rotated one. (I also changed the mesh expansion from +2 to -1 to get rid of a dark edge.)
First, notice that by default, the bill (which was less anchored and rotated more) overlapped the neck (which was more anchored and rotated less). Remember that this is happening on a single layer.
Also, it is now possible to change the relative positions of the overlapping parts of the layer by using the "Pin Depth" controls. The white arrow shows the control to make the bill overlap the neck. As I said, this happened by default when we made the transformation, but we will need to click here to return to this position after we have made the neck overlap the bill. And we do that by clicking on the control shown by the red arrow.

Notice that, in this case, there are no actual pins on either part of the bill or neck that overlap.


I'm a fan of everyone who tries.
12oakhill said 1 year ago 12/10/2012 10:33:03 PM EDT

And now the neck overlaps the bill, and we can toggle back and forth all we want. This is the "layer within a layer" effect. Try doing that with the Liquify tool.
Hmmmm....maybe Puppet Warp might come in handy for making ani-gifs, too.



Again, these images could benefit from some additional changes to lighting and shading, etc, but instead, let's do something else with Puppet Warp!


[Edited by User on 12/10/2012 10:51:11 PM]

I'm a fan of everyone who tries.
12oakhill said 1 year ago 12/11/2012 1:58:15 PM EDT

It is possible to have multiple active pins. Go to any anchor pin and press Shift-click, and it becomes active, in addition to the already existing active pin.
Another useful shortcut is to right click on any pin to get this drop down menu for various functions.


[Edited by User on 12/11/2012 3:19:04 PM]

I'm a fan of everyone who tries.
12oakhill said 1 year ago 12/11/2012 2:06:11 PM EDT

Now, for the last example, I'm going to take my photo of a straight, rusty, steel rebar and bend it into a figure 8 with two different overlap points, then use pin depth to get a layer effect, again on just a single layer.


I'm a fan of everyone who tries.
12oakhill said 1 year ago 12/11/2012 2:13:30 PM EDT

Using the same basic method I used above to straighten the Flamingo's neck, I added pins in the order shown below. Pins 1+2 were added as anchors first, then with pin 3 active, I started the transformation. No rotation was used this time, just clicking and dragging on the successive active pins to move them into position. I'm not going to show all the intermediate steps. (It was really much easier and quicker than it looks.)

After getting pin 19 in place, I went back to pins 10 and 14, which are at the areas where the two "arms" of the rebar overlap. Clicking on each one at a time and then using the pin depth controls, I got the arms to alternately intertwine as shown. (When using the pin depth controls, it may be necessary to click each control more than once to get the overlap that you desire.)



[Edited by User on 12/11/2012 3:55:15 PM]

I'm a fan of everyone who tries.
12oakhill said 1 year ago 12/11/2012 2:28:15 PM EDT

After clicking to commit the changes, Puppet Warp closes and this is the result. I have added some shading and angled the ends of the rebar. It could use some more polishing, but there's no need to go further here.


[Edited by User on 12/12/2012 1:17:10 PM]

I'm a fan of everyone who tries.
12oakhill said 1 year ago 12/11/2012 2:35:59 PM EDT

So, that's a brief introduction to the Puppet Warp tool. Just to emphasize how easy it is to use, I want to point out that the examples that I made above for this tutorial are the first time that I have ever used it.
I hope that you found something useful here, too!

Also, see addendum below.


[Edited by User on 12/12/2012 1:17:44 PM]

[Edited by User on 2/8/2013 12:17:19 PM]

I'm a fan of everyone who tries.
12oakhill said 1 year ago 2/8/2013 12:16:24 PM EDT

I wanted to post an addendum here that involves an example where using Mesh Expansion is required in order to perform a successful transformation using the Puppet Warp tool. (Special thanks to kr43m0r for asking some great questions about this!)
When using this tool on an object that has very thin areas (such as strings, strands of hair or insect antennae, for example) expanding the mesh will be necessary. In the example below, I have drawn a line that is a couple of pixels wide onto the same layer with the Flamingo. When Puppet Warp is applied using zero mesh expansion, the mesh covers the line OK, but attempts to place pins on it cause it to go haywire. By using a mesh expansion of 10, the pins can be placed, and the transformation can be performed.


[Edited by User on 2/8/2013 4:33:30 PM]

I'm a fan of everyone who tries.
This tutorial is locked for new comments.