The Owl project shows one way to take advantage of additive animation blending. Additive animation blending lets you create effects such as blending multiple facial expressions, such as 25% angry, 25% sad, and 50% happy. The project also employs techniques to give the skeleton a 3D look.
The skeleton contains only a handful of images so focusing on the setup of the 3D effect and poses becomes easier.
The head is composed of several images that are connected to 3 bones. The
head bone controls the owl's head and can be used to easily translate, rotate, and scale the entire head.
The other two bones,
control-back, are used to create the 2.5D effect. The effect is accomplished using a transform constraint that lets the
control-back bone follow the
control bone with a translation mix set to
This results in the target
control-back bone moving in the opposite direction of the
The depth effect is added by weighting a mesh to these two opposite bones, as illustrated in the Cube tip.
The largest mesh,
head-base, is used as a reference when weighting all the smaller meshes relative to it. Starting from the external edge, a series of concentric vertices were created to give the illusion of spherical head. These vertices are bound to the 3 bones
control-back. As it is easier to start from a neutral state of weights, all the weights were initially set to be
100% influenced by the bone
head. The middle of the mesh was then painted using weight painting in additive mode to become influenced by the
control bone. Similarly, the external edge vertices were weighted to the
control-back bone so that the feathers in the back move in the opposite direction of the rest of the face, giving the illusion of depth.
The eyes are composed of a number of attachments:
R_eye-light. All attachments except the pupils are weighted to the bones
control letting the eyes contribute to the 2.5D effect without distortion, and moving proportionally to the control bones. To simulate the owl gazing at the
control bone, the
R_eye-pupil images are parented to the bone
control so that they follow it completely.
The beak is composed of two attachments,
beak-down, and generally follows a similar setup as the eyes to simulate depth.
The body of the owl connects the head to the branch. The body is composed of 3 meshes,
R_wing, which are weighted to the
owl-base bones. The
body-top-control bone is parented to the
head bone, and
owl-base is parented to
The owl's tail consists of 3 images,
feather-3, which are parented to the
tail-feathers bone, which itself is parented to the
While the feet of course belong to the owl, they are located outside the owl hierarchy and are parented to the
The branch features a long mesh called
wood which is weighted to a chain of bones,
branch-6. The branch has few vertices, except near the joints of the bones. This allows smoother bending around the joints while retaining a rigid shape everywhere else.
Each leaf on the branch consists of a bone and image attachment. The leaf bones are parented to the branch bone closest to them. By giving each leaf its own bone, they can be easily animated to simulate a gentle breeze bending them.
The owl animations are designed to be played at the same time on different tracks and to use additive animation blending. The
right animations are single frame animations, each representing an extreme pose to be additively blended with the other animations at runtime based on user input, for example based on the mouse cursor position like in the demo at the top of this page.
This animation is meant to be played in a loop and is responsible for subtle breathing movements, wiggling of the tail feathers, as well as the bending of the branch and leaves to simulate wind.
This animation is deliberately longer and separate from the
idle animation. This way, when the two animations are played at the same time, they will loop at different times, making the blinking happen at different intervals than if it was part of the
blink animation consists of attaching the
R_eye-closed images so that they cover the rest of the eyes, after which they are detached again to simulate blinking.
right each consist of only one frame with one translation key for the
control bone on the farthest point it could reach for each direction.
You can preview the result of playing several animations at the same time using different blending mixtures in the preview view. For example, first set the
idle animation on track 0 and the
blink animation on track 1. Next, enable additive blending on tracks 2, 3, 4, and 5, then set
right on each of those tracks. Finally, adjust the alpha of tracks 2 through 5 to get various blends of the animations.
The demo at the top of this page adjusts the alpha of the direction tracks using the location of the mouse cursor. A similar effect could be had by placing a control bone at the mouse cursor and using IK and transforms constraints to adjust the skeleton, as shown in the IK web demo. However, additive animation blending is more powerful because it is blending the entire pose from multiple animations. The animations can be significantly different and more complex than what can be achieved by positioning a control bone. Also the animations can be looped, they don't need to be a single frame like in this Owl example.
Additive animation blending has many uses, it is not limited to blending between direction animations. For example, it can be useful for facial animation, where multiple emotion animations are applied at the same time, each with a different influence, such as 25% angry, 25% sad, and 50% happy.