Cage Deform

From Blue Mars Developer Guidebook

Jump to: navigation, search
There are security restrictions on this article

This document summarizes the mechanism used in Blue Mars to deform arbitrary polyhedrons smoothly with simple controls.

Methodology

There are 2 cages: The Display cage and Internal cage.

The Internal cage has more points. The Display cage is used to control shape change.
The Internal cage needs to be smoothed to avoid gaps. Object surface can exist outside the cage or inside the cage (see Figure 1).

Image:CageDeform1.png

Each vertex is projected onto the internal cage surface perpendicularly. This maintains the distance and face UV coordinates on each vertex. This process only happens in the initialization stage (see Figure 2).

Image:CageDeform2.png

Changing shape:

When the display cage changes, the internal cage will also update at the same time (see Figure 3).

Image:CageDeform3.png

Vertex coordinates are calculated by reversely projecting the positions.
This process is similar to the technique used when computing surface displacement mapping (see Figure 4).

Image:CageDeform4.png

Pros

This approach is useful in many different areas. In Blue Mars, we use this method in facial modification, face animation, cloth & hair simulation, body skinning and cloth fitting.

Cons

This deformation is based on changing surface normal angles. So if the object surface is located at a far distance from the internal cage, it will result in non-smooth results. In some cases, the object surface may belong to the wrong cage surface.

Problems with this wiki page? Contact us either by: Support Email or Support Ticket System

Blue Mars Guidebook Privacy Policy
Blue Mars Guidebook Community Guidelines

Personal tools