API reference
API reference
Select your platform
No SDKs available
No versions available

IBody Interface

The primary interface through which Body data is accessed.

Overview

Properties

The mapping for this body, which allows querying of the supported joint set of the skeleton as well as joint parent/child relationship.
bool
Is the body connected and tracked.
bool
The body is connected and tracked, and the root pose's tracking data is marked as high confidence.
bool
True if the body is currently tracked, thus tracking poses are available for the body root and joints.
float
Scale[Get]
The scale of the body skeleton applied to world joint poses.
int
Incremented every time the source tracking or state data changes.

Events

Action
Called each time the body is updated with new data.

Public Member Functions

bool
GetRootPose
( out Pose pose )
Gets the root pose of the body, in world space.
bool
GetJointPose
( BodyJointId bodyJointId,
out Pose pose )
Attempts to calculate the pose of the requested body joint, in world space.
bool
GetJointPoseLocal
( BodyJointId bodyJointId,
out Pose pose )
Attempts to calculate the pose of the requested body joint, in local space to its parent joint.
bool
GetJointPoseFromRoot
( BodyJointId bodyJointId,
out Pose pose )
Attempts to calculate the pose of the requested hand joint relative to the root.

Details

Detailed Description

Components consuming body data should prefer to do so through this interface rather than the concrete Body.

Properties

ISkeletonMapping Oculus.Interaction.Body.Input.IBody.SkeletonMapping
The mapping for this body, which allows querying of the supported joint set of the skeleton as well as joint parent/child relationship.
bool Oculus.Interaction.Body.Input.IBody.IsConnected
Is the body connected and tracked.
bool Oculus.Interaction.Body.Input.IBody.IsHighConfidence
The body is connected and tracked, and the root pose's tracking data is marked as high confidence.
If this is true, then it implies that IsConnected is also true, so they don't need to be checked in addition to this.
bool Oculus.Interaction.Body.Input.IBody.IsTrackedDataValid
True if the body is currently tracked, thus tracking poses are available for the body root and joints.
float Oculus.Interaction.Body.Input.IBody.Scale
The scale of the body skeleton applied to world joint poses.
int Oculus.Interaction.Body.Input.IBody.CurrentDataVersion
Incremented every time the source tracking or state data changes.

Events

Action Oculus.Interaction.Body.Input.IBody.WhenBodyUpdated ( )
Called each time the body is updated with new data.

Member Functions

bool Oculus.Interaction.Body.Input.IBody.GetRootPose
( out Pose pose )
Gets the root pose of the body, in world space.
Will return true if a pose was available; false otherwise. Confidence level of the pose is exposed via IsHighConfidence.
bool Oculus.Interaction.Body.Input.IBody.GetJointPose
( BodyJointId bodyJointId,
out Pose pose )
Attempts to calculate the pose of the requested body joint, in world space.
Returns false if the skeleton is not yet initialized, or there is no valid tracking data. Scale is applied to this joint position.
bool Oculus.Interaction.Body.Input.IBody.GetJointPoseLocal
( BodyJointId bodyJointId,
out Pose pose )
Attempts to calculate the pose of the requested body joint, in local space to its parent joint.
Returns false if the skeleton is not yet initialized, or there is no valid tracking data. Scale is not applied.
bool Oculus.Interaction.Body.Input.IBody.GetJointPoseFromRoot
( BodyJointId bodyJointId,
out Pose pose )
Attempts to calculate the pose of the requested hand joint relative to the root.
Returns false if the skeleton is not yet initialized, or there is no valid tracking data. Scale is not applied.
Did you find this page helpful?
Thumbs up icon
Thumbs down icon