OVRSkeletonMetadata Class
A class for handling Skeleton metadata.
It generates and stores information about the source and target skeletons, such as joint pairs that are used during retargeting.
At runtime, the humanoid retargeter class uses these joint pair directions to orient target skeletons to match the source body tracking skeleton.
Dictionary< HumanBodyBones, BoneData > BodyToBoneData[Get] Maps from HumanBodyBones to associated BoneData.
Use this field to query the original transform, orientation, and correction (i.e. retargeting) quaternion associated with the HumanBodyBones.
Copy constructor that copies from another instance of OVRSkeletonMetadata to this instance.
Since each instance tracks data per HumanBodyBones and possibly modifies, that should be copied from the other OVRSkeletonMetadata instance.
ParametersotherSkeletonMetaDataOther meta data to copy from.
OVRSkeletonMetadata ( Animator animator,
Use this constructor for third-party characters imported as a Humanoid. remarks> Provide the
OVRHumanBodyBonesMappingsInterface argument in order to influence the creation of each joint's bone pair.
ParametersanimatorAnimator to build meta data from.
bodyBonesMappingInterfaceOptional bone map interface.
OVRSkeletonMetadatabool useBindPose,
Dictionary<
BoneId, HumanBodyBones > customBoneIdToHumanBodyBone,
Constructor that builds an instance from a
OVRSkeleton reference, intended for upper body characters.
Use the
OVRHumanBodyBonesMappingsInterface reference in order to the influence hte creation each joint's bone pair. Use the BoneId to HumanBodyBones mapping in order influence the mapping between the two, because the body tracking bones must be associated with Humanoid bones.
ParametersskeletonSkeleton to build meta data from.
useBindPoseWhether to use bind pose (T-pose) or not.
customBoneIdToHumanBodyBoneCustom bone ID to human body bone mapping.
bodyBonesMappingInterfaceBody bones mapping interface.
OVRSkeletonMetadatabool useBindPose,
Dictionary<
BoneId, HumanBodyBones > customBoneIdToHumanBodyBone,
bool useFullBody,
Constructor that builds an instance from a
OVRSkeleton reference, intended for upper or full body characters.
Use the
OVRHumanBodyBonesMappingsInterface reference in order to the influence hte creation each joint's bone pair. Use the BoneId to HumanBodyBones mapping in order influence the mapping between the two, because the body tracking bones must be associated with Humanoid bones.
ParametersskeletonSkeleton to build meta data from.
useBindPoseWhether to use bind pose (T-pose) or not.
customBoneIdToHumanBodyBoneCustom bone ID to human body bone mapping.
useFullBodyWhether to use full body or not.
bodyBonesMappingInterfaceBody bones mapping interface.
void BuildBoneDataSkeletonbool useBindPose,
Dictionary<
BoneId, HumanBodyBones > customBoneIdToHumanBodyBone,
Builds the metadata necessary for retargeting to function properly.
While this function is called during the construction of the instance, it is necessary before the retargeter computes its offsets. Call this function during skeletal update events before computing retargeting offsets. Intended for upper body characters, and used by
OVRUnityHumanoidSkeletonRetargeter.
ParametersuseBindPoseIf true, use the bind pose.
customBoneIdToHumanBodyBoneCustom bone ID to human body bone mapping.
bodyBonesMappingInterfaceBody bones mapping interface.
void BuildBoneDataSkeletonFullBodybool useBindPose,
Dictionary<
BoneId, HumanBodyBones > customBoneIdToHumanBodyBone,
Builds the metadata necessary for retargeting to function properly.
While this function is called during the construction of the instance, it is necessary before the retargeter computes its offsets. Call this function during skeletal update events before computing retargeting offsets. Intended for full body characters, and used by
OVRUnityHumanoidSkeletonRetargeter.
ParametersuseBindPoseIf true, use the bind pose.
customBoneIdToHumanBodyBoneCustom bone ID to human body bone mapping.
bodyBonesMappingInterfaceBody bones mapping interface.
void BuildCoordinateAxesForAllBones ( )
Builds an orientation per each bone of a character, using each joint's start and end transform.
It handles edge cases related to degenerate joints that may or may not exist, and also handles the character's palms differently relative to standard bones.