PoseTuneParams
Parameters of pose fine-tuning
These parameters control optional adjustments added to basic pose-model alignment method. PoseFitBPlugin supports rigs compatible with Mixamo armature (Ready Player Me avatars). This is the most common armature standard for human-like models, supported by many game engines. But for example models rigged and skinned manually or using Mixamo tool can variate depending on anthropomorphous model topology, e.g. animated characters can have disproportional body parts like a much bigger head. In such cases fine-tuning may be required. Also depending on use case you can try several options and see what works better. As an example turning off adjustment of spine curvature gives better results in virtual garment try-on experiences, while for full-body avatar overlaying it can provide more natural look. PoseFitPlugin supports rigs compatible with Clo3D and Marvelous Designer avatars. This is the most common standard of rigs in cloth/apparel modeling software. Usually, 3D models from Clo3D don’t require fine-tuning and work out-of-the-box.
Properties
Section titled “Properties”headRatio?
Section titled “headRatio?”
optional
headRatio:number
Distance between center of the head defined by midpoint of ears and position of the head bone (its start) ratio to overall length of head bone. Relative lengths of neck and head bones vary a lot between human-like models. It is not possible to automatically find where ears or the model’s mesh are so this value provides a way to define it. Recommended range is [0.3 .. 0.5], default value is 0.35 that close to topology of all Ready Player Me avatars.
hipsD?
Section titled “hipsD?”
optional
hipsD:Coord3D
In some cases it can be useful to adjust positions of
the hips making them slightly wider, higher or deeper.
This adjustment helps to adapt model to proportions of
human body or to make sure body is completely covered.
hipsD
define hips [width, height, depth] adjustment in
meters, we recommend values of 0.01 order of magnitude.
Default value is 0 meaning the hips are not adjusted.
neckAdjust?
Section titled “neckAdjust?”
optional
neckAdjust:number
Advanced adjustment of the neck bone. Naturally base of a neck is not exactly center between shoulders, it shifts depending on direction of shoulder bones. This parameter defines magnitude of this shift in meters. Recommended values are 0.01 order of magnitude. Default is undefined.
pelvisDZ?
Section titled “pelvisDZ?”
optional
pelvisDZ:number
Adjustment of pelvis bone. In some cases it may be needed to fine-tune pelvis bone making it directed slightly
scaleLimbs?
Section titled “scaleLimbs?”
optional
scaleLimbs:boolean
Whether limb bones should be rescaled to preserve lengthes. When armature of a limb is aligned to fit detected joints lengthes of bones may not perfectly correspond to distnaces between pose keypoints. There are two options, uniformly rescale bones to perfectly align armature and pose joints, or allow slight displacement of armature joints relative to detected positions, in other words gap between bones. The first option is enabled by this flag, the downside is that this may introduce scale difference between connected bones that leads to unnatural behaviour like bigger arms or legs. The second approach is preferable (flag is not set) but it may lead to self-intersection or stretching near joints.
shoulderOffset?
Section titled “shoulderOffset?”
optional
shoulderOffset:number
In many models head of shoulder’s bone doesn’t coincide with tail of the parent. This parameter defines distance from head of the neck bone to head of the shoulder bone ratio to distance to tail of shoulder. Value should be in range [0..1], default value for most models is 0.2
shouldersD?
Section titled “shouldersD?”
optional
shouldersD:Coord3D
In some cases it can be useful to adjust positions of
shoulders making them slightly wider, higher or deeper.
This adjustment helps to adapt model to proportions of
human body or to make sure body is completely covered.
shouldersD
adjusts shoulders [width, height, depth] in
meters, we recommend values of 0.01 order of magnitude.
Default value is 0 meaning shoulders are not adjusted.
spineCurve?
Section titled “spineCurve?”
optional
spineCurve:number
Pose plugin can adjust estimated spine skeleton resembling curvature of model’s spine in rest (default) pose. In other words it slightly modifies bone positions and rotations to mimic spine curve. Parameter is a number, usually in range [0..1]. 0 or undefined means spine of the rig will remain flat (default estimation), while 1 - rig’s curvature is projected completely. Values in between control strength of curvature and values bigger than 1.0 will amplify it.