Skip to content

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.