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.
Basic workflow
-
Create skeleposer node.
Each node can control large number of bones. -
Create joints and add them to skeleposer by pressing "Add joints" button.
You can add/remove joints any time you like.
Just make sure that by removing joints you also remove these joints from pose deltas. -
Work with poses.
In practice, you work with skinCluster and poses at the same time. -
Connect controls to the poses using drivers.
This is a convenient way of connecting controls to poses.
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.
Correctives
All corrective poses must be placed below other poses. This is a requirement as corrective poses work like patches.
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()
Additional nodes
There are some other nodes provided by the plugin.
-
blendMatrix.
This node can be used to blend two matrices. This is done with the following approach:
a) Translation is linear.
b) Rotation is blended with slerp.
c) Scale is linear. -
stickyMatrix.
This node is used to make "sticky rig" for two indepdendant transforms. It's useful for eye blink, sticky lips (zip) and other stuff.
UsestickyMatrix
module in Rig Builder as a reference: https://github.com/azagoruyko/rigBuilder/blob/main/modules/Tools/StickyMatrix.xml
Your facial rigs
It would be very interesting to see your facial rigs done with Skeleposer! Don't be shy to send me your work to [email protected].