Chapter 31: Deformation

Deformations let you animate bitmap or vector-based graphics, including gradients and textures. Deformations act as a skeleton with limbs and articulations you can bend, reshape, and curve. You can deform a character made out of one, or many, drawing or image layers and make it move as if it were a cut-out puppet. This also allows you to take an area in a single bitmap image and create animation by distortion. A deformation skeleton is composed of deformation nodes, which are the various pieces (here represented as layers or nodes) required to articulate or deform your drawings, such as a series of bones, curves or game bones—see Deformation Nodes.

NOTE: It's important to note that the deformation feature was completely rebuilt in Harmony 12 to simplify the process and no longer works like it was in the previous releases. If you would like to convert characters with deformation chains created in Harmony 11 or before, you can use the TB_ConvertLegacyDeformation.js script to do so—see Handling Legacy Deformations.

Main Types of Deformations

These are the types of deformations.

Bone Deformation

The Bone deformation allows you to create a skeleton structure in which the parent bone moves the child bone. The Bone deformation is useful when animating the extremities of a character, such as the arms or legs, adding fluidity and a natural feel to the animation. It can be manipulated to rotate a limb at an articulation joint and to shorten or elongate the extremities of a limb. It's also quite handy for bending the torso.

NOTE: If you are creating a rig to be used in a game, use the Game Bone deformation.

Game Bone Deformation

The Game Bone deformation is very similar to the Bone deformation and allows you to create a skeleton structure in which the parent bone moves the child bone. The difference is that the Game Bone deformation is optimized to export to game engines, mainly Unity.

The Game Bone deformation is mostly used when animating the extremities of a character, such as the arms or legs, adding fluidity and a natural feel to the animation. The Game Bone deformation can be manipulated to rotate a limb at an articulation joint and to shorten or elongate the extremities of a limb. It's also quite useful for bending the torso.

The main differences between the Bone and Game Bone deformations are that the Game Bone deformation doesn't have the Bias parameter and no regions of influence settings. The rendered result is also different for the articulation folds. They are slightly rounded.

Curve Deformation

The Curve deformation allows you to deform an image using Bezier handles. For example, when editing curves, you can deform a straight line into an arc or a zigzag. Curve deformations are mostly used to animate elements that don't have joints, such as hair or facial features. However, in some cases they can be used to animate limbs to create a specific animation style, similar to the early rubber hose style of animation with typically simple, flowing curves without articulation (no hinged wrists or elbows).

Envelope Deformation

The Envelope deformation allows you to deform an image using Bezier handles located all around the contour of the shape. Envelope deformation chains are composed of Curve deformation nodes. It is regularly used to deform shapes, such as hair, cloak, shoulder shape, head shape and so on. You can use the Envelope deformation to deform a drawing so it looks like it changes from a profile view to a front view to create head and character rotations using only one set of drawings.

The main differences between the Curve and Envelope deformers is that the Envelope chain can be closed by connecting the last Curve deformation node to the initial Offset point. Once connected, the Offset point no longer repositions the entire chain, only its own control point.

NOTE: It's not recommended to use the Envelope deformations on bitmap images and textures.