PoseTuneParams
Parameters of pose fine-tuning
These parameters control optional adjustments added to basic pose-model alignment method. PoseAlignPlugin 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.
Properties
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?
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?
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?
optional
pelvisDZ:number
Adjustment of pelvis bone. In some cases it may be needed to fine-tune pelvis bone making it directed slightly
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?
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?
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?
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.