Struct RigMetrics.Metrics
Measured dimensions of one Humanoid rig. All lengths are metres in world scale.
[Serializable]
public struct RigMetrics.Metrics
Expand Details ...
Fields
AnkleHeight
[Tooltip("Ankle above the sole. Foot IK must add this to a ground hit position, because it places the ankle bone and not the sole.")]
public float AnkleHeight
Field Value
- float
ArmAsymmetry
[Tooltip("Relative difference between left and right arm chain length. 0 means symmetric.")]
public float ArmAsymmetry
Field Value
- float
ArmChainLength
[Tooltip("Upper arm plus lower arm. This is the reach of the arm's two-bone IK chain.")]
public float ArmChainLength
Field Value
- float
ArmStretch
public float ArmStretch
Field Value
- float
ArmToLegRatio
[Tooltip("Arm chain divided by leg chain. Around 0.8 for a realistic adult human.")]
public float ArmToLegRatio
Field Value
- float
FeetSpacing
public float FeetSpacing
Field Value
- float
FootLength
[Tooltip("Ankle to toe. Zero when the rig has no Toes bones.")]
public float FootLength
Field Value
- float
GroundOffset
[Tooltip("Height of the lowest foot bone relative to the Animator's own origin. Non-zero means the rig's feet do not sit at the Animator origin.")]
public float GroundOffset
Field Value
- float
HasChestBone
[Tooltip("True when the Chest bone is mapped. Together with HasUpperChestBone this says how far the head is turned by the chest's rotation, which the head's counter twist has to cancel.")]
public bool HasChestBone
Field Value
- bool
HasToeBones
[Tooltip("True when both Toes bones are mapped, which foot roll needs.")]
public bool HasToeBones
Field Value
- bool
HasUpperChestBone
[Tooltip("True when the UpperChest bone is mapped. See HasChestBone.")]
public bool HasUpperChestBone
Field Value
- bool
HeadBoneHeight
[Tooltip("Head bone above the lowest foot bone.")]
public float HeadBoneHeight
Field Value
- float
HeightToHumanScale
[Tooltip("Visual height divided by Animator.humanScale. If this value is nearly the same on every rig, then humanScale alone is enough to normalise by size and most of the measurement above is unnecessary.")]
public float HeightToHumanScale
Field Value
- float
HipHeight
[Tooltip("Hips bone above the lowest foot bone.")]
public float HipHeight
Field Value
- float
HipJointHeight
[Tooltip("UpperLeg bone above the lowest foot bone. This is where the leg IK chain starts, so foot targets must be within LegChainLength of this height, not of HipHeight.")]
public float HipJointHeight
Field Value
- float
HipWidth
[Tooltip("Distance between the two UpperLeg bones. Sets how far apart the feet are placed.")]
public float HipWidth
Field Value
- float
HumanScale
[Tooltip("Unity's own scale value for this Avatar, relative to its 1 metre reference human.")]
public float HumanScale
Field Value
- float
IsValid
[Tooltip("True when the last measurement succeeded.")]
public bool IsValid
Field Value
- bool
LegAsymmetry
[Tooltip("Relative difference between left and right leg chain length. 0 means symmetric.")]
public float LegAsymmetry
Field Value
- float
LegChainLength
[Tooltip("Upper leg plus lower leg. This is the reach of the leg's two-bone IK chain.")]
public float LegChainLength
Field Value
- float
LegStretch
public float LegStretch
Field Value
- float
LegToHeight
[Tooltip("Leg chain divided by visual height. Around 0.5 for a realistic adult human. Lower means short legs, which is typical of a stylised rig.")]
public float LegToHeight
Field Value
- float
LowerArmLength
public float LowerArmLength
Field Value
- float
LowerLegLength
public float LowerLegLength
Field Value
- float
MeasuredInTPose
[Tooltip("True when the values were taken in the reference pose rather than the pose on screen.")]
public bool MeasuredInTPose
Field Value
- bool
MeasurementSchemaVersion
[Tooltip("Which set of fields this measurement was written with. Measure always writes RigMetrics.CurrentMeasurementSchemaVersion here. A measurement saved before a field existed carries a lower number, so it is taken again instead of having that missing field read as a measured value.")]
public int MeasurementSchemaVersion
Field Value
- int
MissingOptionalBones
[Tooltip("Optional Humanoid bones this Avatar does not map. Their absence limits which drivers can run on this rig.")]
public List<string> MissingOptionalBones
Field Value
- List<string>
PoseSource
[Tooltip("Which reference pose the measurement used. 'mesh bindposes' is authoritative asset data. Anything else means the value could have been affected by the rig's current pose.")]
public string PoseSource
Field Value
- string
RigName
[Tooltip("Name of the measured Animator's GameObject.")]
public string RigName
Field Value
- string
ShoulderJointHeight
[Tooltip("UpperArm bone above the lowest foot bone. Where the arm IK chain starts.")]
public float ShoulderJointHeight
Field Value
- float
ShoulderToHipRatio
public float ShoulderToHipRatio
Field Value
- float
ShoulderWidth
[Tooltip("Distance between the two UpperArm bones.")]
public float ShoulderWidth
Field Value
- float
SpineChainLength
[Tooltip("Summed distance from Hips to Head through whichever spine bones exist.")]
public float SpineChainLength
Field Value
- float
SpineToHeight
public float SpineToHeight
Field Value
- float
StrideReference
[Tooltip("Length that normalised gait parameters multiply by. A step length of 1.0 means one of these per step. Currently set to LegChainLength.")]
public float StrideReference
Field Value
- float
UpperArmLength
public float UpperArmLength
Field Value
- float
UpperArmTwist
public float UpperArmTwist
Field Value
- float
UpperLegLength
public float UpperLegLength
Field Value
- float
UpperLegTwist
public float UpperLegTwist
Field Value
- float
UpperToLowerLegRatio
[Tooltip("Upper leg divided by lower leg. Around 1.0 for a realistic adult human.")]
public float UpperToLowerLegRatio
Field Value
- float
ValidationMessage
[Tooltip("Reason the measurement failed, or OK.")]
public string ValidationMessage
Field Value
- string
VisualHeight
[Tooltip("Top of the visible mesh above the lowest foot bone. Includes hair and headgear. Reliable only while the character is upright.")]
public float VisualHeight
Field Value
- float