On this page | |
Since | 19.5 |
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.
Note
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, it may have gotten stuck while trying to find a solution. To fix this, set the Min Non-Zero Weights parameter to 1.
Parameters ¶
Save to Disk
Starts the skinning decomposition and exports the result to disk.
Output FBX File
The path to save the FBX output.
Create Intermediate Directories
When turned on, creates the directories in the FBX output path if they do not exist.
Input Animated Cache
The path to the Alembic geometry cache containing the animated mesh sequence to convert to a bone-based animation.
Input Bind Pose FBX
The path to the FBX file that contains the geometry’s rest pose.
Create Root
When turned on, updates the bind pose to regroup joints under one root.
Max Number of Bones
The maximum number of bones that can be generated.
Note
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.
Global Iterations
The number of global iterations to process during the conversion. This functions as a scalar for the number of optimizations that have to be calculated. For more complex scenes, increase this value.
Error Tolerance
The algorithm keeps track of the decreasing errors during iterations, and increments 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 is found after the number of iterations specified by the Patience parameter.
Patience
The number of iterations to wait before stopping early when no improvement is found that is incrementally better than the threshold specified by the Error Tolerance parameter.
Splitting Iterations
The number of clustering update iterations that are applied on initialization.
Transform Iterations
The number of bone transformation update iterations per global iteration. Dem Bones performs multiple bone transform updates after each update on the weights.
Translations Affinity
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, and values less than 0 turn off 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.
P-Norm
The power used to compute the centroid of the patch. Higher values move the centroid of the bones closer to the vertices with max weights (soft-max).
Weights Iterations
The number of weight updates to perform after each bone update. 1-5 iterations usually produce good results. These iterations are very expensive, so it is better to increase the Global Iterations than to increase the number of Weights Iterations.
Smoothness
Controls the weights smoothness for the generated soft constraint.
Step Size
The step size of the Implicit Laplacian smoothing on the weights for the soft constraint.
Min Non-Zero Weights
The number of non-zero weights per vertex required for the conversion to succeed.
Outputs ¶
Output
Bone-based animation data exported as an FBX file.
See also |