We'll make a simple character to demonstrate puppet animation.
On the bank panel click the + button and choose New Puppet Bank... or find it on the Bank menu bar.
You'll be asked the size, I'm going with 32 x 32 pixels for this example.
Then open the puppet bank by double clicking on its icon.
You'll now see the Frames panel with the layers expanded.
Puppets are made up of two elements.
The first frame is referred to as the puppet frame, and this is where you draw or import your puppet sprite. You create a layer for each part of the puppet you want to animate, for example - the body, legs and arms.
All following frames hold animation keyframes. The keyframes hold the transformation information for frames.
Let's begin with a simple character.
The puppet bank has given us two layers :-
A layer called Touch-up - this is a normal layer you can draw on, and you will be able to draw on this layer in any frame. It's primarily used to make corrections to your puppet, to tidy up pixels or to add details.
A layer called Body and this has a stick figure icon next to it to signify this is a puppet layer. These are the layers that we'll animate.
Let's populate the body with, well, a body for our sprite. I'm going to animate Imagery's logo so this is an italic 'i'.
Now lets make a Puppet layer for one of the arms. Click the + on the layers panel and choose New Puppet Layer. The layer will appear with the stick figure icon next to it is you've created the right kind of layer. I'll rename it to Arm 1 and draw the first arm in this layer.
Next repeat this for the other arm and the two legs, one new Puppet Layer for each. My character now looks like this:
Now create 8 more frames for our animation to play out in. In the Puppet Frames panel, click the + button 8 times:
We're going to first animate one arm and to do this add three keyframes. One at the begining at frame 0 and one at the end at frame 8 to mark the default position and transformation of the arm. Then the third keyframe we'll create in frame 4 where we'll swing the arm to the other side.
Select the Arm 1 layer and frame 0 from the Frames panel.
Click the add keyframe button.
Repeat for frame 8 and frame 4.
Select the Arm 1 layer and frame 4.
The arm shows the resize and rotate handles. It also shows the pivot point as a yellow crosshair. Hold the Alt key and drag the pivot point to the centre of the body.
Using the rotate handle, rotate the arm 180 degrees to the other side.
Because we've moved its pivot the arm swings around this point.
Go to the previous and next frames to see the effect of the animation, press keys 2 for previous and 3 for next.
You will see the arm swing around. The animation system will take the shortest path, so if the arm swings over the head instead of across the body, then return to frame 4and adjust the rotation on the keyframe so it is slightly down. You should then see the arm go below instead of above.
This animation has rotation in the arm and it looks fine being a single colour. Some more complex graphics may look a bit jaggy when rotating or scaling. Imagery has several render options for these situations that change the way the transformation is applied.
In the top left of the canvas is the transformation toolbar. Click it to expand it.
The resampling button will present a menu of options to change how the transformation is rendered.
Nearest Neighour is the default. RotSprite can be effective to retain pixels, whereas smooth or Bicubic will apply smoothing and antialiasing.
Now repeat this for the other arm and the two legs. Remember, add three keyframes for the remaining layers and set the pivot point to a suitable spot.
Once done, press the play button or press 5 on the keyboard and marvel at my animation prowess!
There is a pause at the end of the animation, and this is because frame 0 and frame 8 are the same. This is intentional, but we want to exclude frame 8 from the animation. To exclude the last frame, change the loop option to Loop-1 (minus one):
As well as skipping frame 8 (the last frame) in the playback, it will also exclude it on the spritesheets you export.
This animation was created with rotations with a limited number keyframes to demonstrate the principles. More keyframes and use of movement can create more convincing animation than seen here :)
When animating a puppet layer the transformation may not be perfect or as you want. A touch-up layer is created by default with a puppet. You can draw on this layer to make corrections on any frames in the animation.
Remember that touch-up layers are fixed, if you adjust your keyframes the touch-up layers won't follow the changes and will need to be adjusted separately.
Note: There are two 'transparent' colours available. The grey transparent colour works like the eraser. It removes pixels from the canvas.
The purple transparent is a special colour. It doesn't remove pixels as such, it works a bit like a mask, and it will erase pixels on layers underneath it. Think of it as purple digital tipp-ex. You will see the effect of removed pixels in the preview panel and on exports to spritesheets.
When working with puppets, you can manipulate the layer transformation in a number of ways.
The transformation toolbar where you set the render mode also has controls to change the scale and the rotation at regular steps, or increased steps if pressed while holding the Shift key.
Layers can also be moved with the cursor keys.
FInally, Puppet Banks have a Puppet panel alongside the Layers panel. THis will allow you to change keyframes and the pivot point location. It also has the Reference Rig link, more on that next...
In a previous getting started guide we looked at reference rigs to help trace animation poses. We can also tell our puppet to use reference rigs to automatically move, rotate and scale our puppet layers.
To use reference rigs with puppets, first select a reference rig to use (click the cog button at the end of the frame toolbar).
With a reference rig selected, any puppet layer can be assigned to a bone on the rig. For example, in the Human Walking reference rig we could assign an arm layer to the Upper Arm rig bone.
To assign puppet layers to rigs, select the layer in the frames panel and then pick a Rig from the Puppet panel. The layer will then move automatically with the movement of the rig.
For best results you would either design your character to fit the rig, or create your own rig to match your puppet.