A taxonomy of meshes

May 4th, 2020

Meshes are one of the most versatile and powerful Spine features. In a previous blog post, we discussed tips for mesh creation, and specifically vertex placement strategies.

In addition to vertex placement strategies, we can also categorize meshes into 3 broad types to pick and choose from, making it easier to decide how to create a mesh for a specific image.

Simple meshes

This first kind of mesh can be deceiving in its apparent simplicity. This type of mesh consists of only 4 corner vertices, which can be created by selecting an attachment and checking the Mesh checkbox in the attachment's properties panel.

This kind of mesh usually doesn't appear alone in a skeleton, but comes in greater numbers! Using many such simple meshes can help us simulate depth or complex conjoined movements. The high number of these little pieces allows us to model complexity, even if the individual parts aren't complex at all.

We can create chains of simple meshes, where each mesh has different weights. The weights of a single mesh of that chain can again be kept simple: most of the time, all vertices of a single simple mesh have the same weights! The power and flexibilty comes from the combination of these simple meshes.

An example of this is the whipped cream on the top of this cake:

cake

The eyes in the Owl example project are also made up of simple meshes, each having 4 vertices with the same weights. But the weights differ between meshes. This lets us create what is essentially a parallax effect:

owl-setup-eyes

owl-moving-eyes

In other cases we may retain the basic vertices structure, but weight individual vertices differently, as shown in this video:

fisherpelican-setup

boat-result

In this case the little pieces help us simulate depth and fake perspective distortion.

Bending meshes

This second kind of mesh is meant to bend, like in the case of arms, legs, or anything that should bend in its middle section.

Bending meshes usually feature a slightly higher overall number of vertices, and exhibit symmetry using internal vertices and edges in addition to the vertices on the meshes hull. They may also sometimes feature more vertices in critical areas that need to bend nicely.

Tubular meshes

This kind of bending mesh is usually composed of a hull which is as close to straight as possible, and horizontal and/or vertical edges on the inside, creating symmetric sections.

You can follow the creation of such meshes in this stream for a fishing rod, and in this stream for a bendy arm.

Hair strands, tails, and other soft bending meshes

These meshes are the crooked little siblings of tubular meshes. Their hull generally follows the shape of the image. Internal edges are then created to enable clean bending along the main axis of the image.

Semi-rigid bending meshes

These meshes still have bending as their main purpose, but thanks to weights they have a more rigid structure in specific areas. These meshes are especially suited for arms or legs, and tend to have two or more rigid parts of the mesh separated by a smaller bending area in the middle of the mesh.

Complex meshes

Meshes that also need to enable complex movements on top of (optional) bendiness, or which aren't at least somewhat symmetric are called complex meshes.

There are infinite applications for such meshes, including things like complex perspective distortions, faces, clothing, and so on. They often feature a complex hull, with internal vertices and edges where folds or lines are present in the image, or at the sides of facial features instead of featuring simple parallel lines. We've looked into the creation of these types of meshes in our previous blog post.

Simple meshes serving a complex purpose

Meshes that are meant to be distorted by partially following a bone through weights to end up in a significantly different shape fall in this group.

Examples of this would be the meshes for the eyelids that allow the character to blink, bird wings which fly in perspective, or a tank whose cannon can shoot.

We consider them complex because the shapes they can take on, and the weights required to achieve these shapes after distortion is not necessarily obvious and may vary depending on the kind of movement they are required to perform.

eyes

Depth simulating meshes

This subtype includes meshes that are used to simulate depth as their main or sole purpose. This can be achieved with as little as one mesh and two bones and multiple techniques, and it can be applied to all sorts of images. The best results can be achieved with clear edges and vertices of the mesh match the edges in the underlying image.

Props

Many so called props, objects that are part of the scenery or that can be equipped by a character, often require the simulation of depth. These objects usually have clearly defined edges which are modelled by the mesh structure to make perspective distortion and a sense of depth possible.

Examples of such props are treasure chests and hand held objects, such as swords, or guns.

backpack

Faces

Meshes of faces can also fall into this category if the can look into different directions, thereby requiring a bit of perspective distortion.

Conceptually, such a face mesh is made up of one big oval with little holes "punched out" for orifices like eyes and mouth.

This tip shows the general logic when creating a face:

You can also watch the full mesh creation of different faces in the rigging streams for the characters of Delilah, Damien and Vianna.

head-mesh 

Clothing

Clothing is often modelled with meshes so it can more easily follow body movements, or display secondary motion, such as its reaction to wind.

There are several ways to rig clothing depending on how independent from the body movements it should be.

Capes, skirts, sleeves, all fall in this category. For an in-depth dive, check out these two streams and our Mix and Match example project, which features all kinds of clothing rigs.

Multi-purpose assets

Anything that serves two or more purposes can be considered complex, especially if the movement that deforms the (weighted) mesh is generated both by translating as well as rotating one or more bones.

An example of this is a torso that rotates in space, bends, and bounces, as illustrated in this stream or this stream.

Faces would deserve an entire chapter detailing the subtle art of simulating depth in addition to facial-feature-specific controls. An example of such a complex face rig is the elderly lady painting shown in the GIF below.

rotating-head-weights

Conclusion

Now that we have strategies to place vertices and a taxonomy of mesh types with respect to their purpose, we are ready to dive into weighting meshes in the next blog post.

We hope this brief carousel of meshes can serve as a useful compendium, and sparks ideas for future projects! We would love to hear your thoughts on the forum.