Skeleposer

What is Skeleposer?

Briefly, it’s like Shape Editor in Maya, but works with transforms and joints. It can be used to make complex facial rigs based on joints. It’s especially good for game engines and realtime graphics.

skeleposer

Basic workflow

You create skeleposer node, make joints, add them to skeleposer and then work with poses. Then you connect controls to the poses and that’s done! In practice, you work with skinCluster and poses at the same time.

skeleposer

Features

Skeleposer supports a lot of cool features that make the working process nice:

  • UI is very similar to Shape Editor.

  • Duplicate/mirror/flip poses. You make a facial rig on the left side, then just duplicate & flip to mirror the rig on the right side.

  • Corrective poses. You see some poses are combined ugly? No problem, make a corrective pose just like you do it in Shape Editor!

  • Inbetween poses. It can be used to activate poses in the middle of another pose activation.

  • Drivers. It’s unified interface for control connections to poses.

  • Directories and hierarchies. You can duplicate/mirror/flip whole folders with poses.

  • Two blend modes for poses, additive and replace. Additive is the default mode. Replace mode can be used to replace previous transformations. For example, such a situation occurs when you want to close wings from any position.

  • Very fast for complex facial rigs. The whole facial rig can be evaluated less then 1ms.

  • Final rig is very simple. Actually there is a single node called skeleposer does the job. It keeps all the poses each one is very lightweight. So the rig file is really small.

Actually the whole facial rig can be just as simple as a sequence of poses and correctives. Skeleposer can be transferred into another character as the topology doesn’t matter and initial bones positions can easily be adjusted without breaking the system.

How to run

Compile C++ plugin

You need Visual Studio and CMake.

Python script

Add skeleposerEditor folder to your scripts path and run the following:

import skeleposerEditor
skeleposerEditor.skeleposerWindow.show()  

GitHub

View Github