|On this page|
Dem Bones - © Electronic Arts 2019
This node is an implementation of Smooth Skinning Decomposition with Rigid Bones, an automated algorithm that extracts the Linear Blend Skinning (LBS) with bone transformations from a set of example meshes.
Skinning decomposition can be used in various tasks:
Converting any animated mesh sequence. For example, geometry cache to LBS, which can then be played back in popular game engines.
Solving skin weights from shapes and skeleton poses. For example, converting blend shapes to LBS.
Solving bone transformations for a mesh animation by providing skin weights.
This node can only handle clean input data. For example, only one piece of connected geometry. If this node takes a really long time to process, then it may have gotten stuck while trying to find a solution. To fix this, set the Min Non-Zero Weights parameter to 1.
Save to Disk
Starts the skinning decomposition and exports the result to disk.
The path to which to save the FBX output.
Create Intermediate Directories
Create the directories in the FBX output path if they do not exist.
Defines the frame range used for the skinning decomposition.
Bind Pose Frame
Specifies the frame to use as the bind pose (rest pose) for the output rig.
Max Number of Bones
Specifies the maximum number of bones that can be generated.
Due to the possibility that more efficient solutions may be found during conversion, the actual output may be lower than the number specified by this parameter.
Specifies the number of global iterations to be processed during the conversion. Functions as a scalar for the number of optimizations that have to be calculated. For more complex scenes, increase Global Iterations.
The algorithm keeps track of the decreasing errors during iterations, and will increment a counter if the reduction is less than the threshold specified by this parameter. This allows the algorithm to stop optimizing early if no improvement has been found after the number of iterations specified by the Patience parameter.
Specifies the number of iterations to wait before stopping early when no improvement has been found that is incrementally better than the threshold specified by the Error Tolerance parameter.
Specifies the number of clustering update iterations that are applied on initalization.
Specifies the number of bone transformation update iterations per global iteration. DemBones performs multiple bone transform updates after each weights update.
Activates a soft constraint that forces bone translation that follows the centroid of the patch supported by that bone. Values greater than 0 turn on the soft constraint, whereas values less than 0 disable the soft constraint.
For many use cases, a value of 0 (no constraint) may be required. Whether or not to use higher values should depend on numerical stability and whether optimization can converge or not.
Specifies the the power used to compute the centroid of the patch. Higher values will move the centroid of the bones closer to the vertices with max weights (soft-max).
Specifies how many weight updates to perform after each bone update. 1-5 iterations usually produce good results. These iterations are very expensive. As such, it is better to increase the Global Iteration than to increase the number of Weights Interations.
Controls the weights smoothness for the generated soft constraint.
Specifies the step size of the Implicit Laplacian smoothing on the weights for the soft constraint.
Min Non-Zero Weights
Specifies the number of non-zero weights per vertex required for the conversion to succeed.
When on, updates the bind pose to regroup joints under one root.
Specifies the path to the Alembic geometry cache that contains the input geometry’s animated mesh sequence.
Specifies the path to the FBX file that contains the input geometry’s rest pose.
Animated geometry. This should be the geometry you want to convert using skinning decomposition.
Bone-based animation data exported as an FBX file.