Stand alone Mac OS X application for "Fast Automatic Skinning Transformations"

Alec Jacobson

February 16, 2015

weblog/

Since publishing our paper in 2012, I've learned how to bundle up mac os x applications in to stand alone .app's which include all dependencies (dynamic libraries etc.). This means no installation necessary.

ogre fast app

We've had the code up for this project for a while now and it's now integrated into libigl. You can read about it in the tutorial. But hopefully this little app. Is fun to try now! It also has some features not in the paper, like dynamics.

Eventually I'll try to host the code for this demo on GitHub. But until download FAST.app. Inside the zip is FAST.app and three example projects armadillo/, octopus/ and ogre/.

Usage

Launch the program by double clicking on FAST.app

Open a "Project" directory using APPLE + O

Press 't' to toggle displaying the filled triangles of the mesh.

Press 'l' to toggle displaying the wireframe of the mesh.

The "state" of this program is partly determined by which shader is being used. To toggle between shaders, use the '<' and '>' keys.

Switch to the LBS shader.

Press 's' to toggle displaying the skeleton

Click on individual bones or endpoints to select them.

Press 'r' to reset all bones to their rest positions.

Press 'R' to reset selected bones.

Right-click and drag on an endpoint to rotate the bone about its parent

Right-click and drag on a bone to wist about its axis

Left-click and drag on a bone or endpoint to translate (not so useful, yet)

The "Fast Automatic Skinning Transformations" method may be activated by setting appropriate parameters in the "AutoDOF" group of the GUI and toggling "Auto DOF" by pressing 'D'.

Press 'D' to turn on "Auto DOF" and wait for precomputation to complete.

Left-click and drag on Yellow endpoints to set position constraints.

Select an endpoint and hit 'f' to toggle its type:

|Color  | Constraint type                                |
|-------|------------------------------------------------|
|Red    | fully constrained                              |
|Pink   | linearly constrained (position is free)        |
|Yellow | positionally constrained (linear part is free) |
|Green  | completely free                                |

Right-click and drag red endpoints to apply full rigid transformations

Help for the GUI is available by clicking the little question mark in the bottom left corner.