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, then 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 File
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.
Input Animated Cache
Specifies the path to the Alembic geometry cache containing the animated mesh sequence to be converted to a bone-based animation.
Input Bindpose FBX
Specifies the path to the FBX file that contains the geometry’s rest pose.
Create Root
When on, updates the bind pose to regroup joints under one root.
Max Number of Bones
Specifies 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
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.
Error Tolerance
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.
Patience
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.
Splitting Iterations
Specifies the number of clustering update iterations that are applied on initalization.
Transform Iterations
Specifies the number of bone transformation update iterations per global iteration. DemBones performs multiple bone transform updates after each weights update.
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, 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.
P-Norm
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).
Weights Interations
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.
Smoothness
Controls the weights smoothness for the generated soft constraint.
Step Size
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.
Outputs ¶
Bone-based animation data exported as an FBX file.
See also |