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

IBody Interface

The primary interface through which Body data is accessed.
Components consuming body data (such as PoseDetection.PoseFromBody) should prefer to do so through this interface rather than the concrete Body or alternative implementations.

Properties

CurrentDataVersion : int
[Get]
Incremented every time the source tracking or state data changes.
Signature
int Oculus.Interaction.Body.Input.IBody.CurrentDataVersion
IsConnected : bool
[Get]
Is the body connected and tracked
Signature
bool Oculus.Interaction.Body.Input.IBody.IsConnected
IsHighConfidence : bool
[Get]
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.
Signature
bool Oculus.Interaction.Body.Input.IBody.IsHighConfidence
IsTrackedDataValid : bool
[Get]
True if the body is currently tracked, thus tracking poses are available for the body root and joints.
Signature
bool Oculus.Interaction.Body.Input.IBody.IsTrackedDataValid
Scale : float
[Get]
The scale of the body skeleton applied to world joint poses.
Signature
float Oculus.Interaction.Body.Input.IBody.Scale
SkeletonMapping : ISkeletonMapping
[Get]
The mapping for this body, which allows querying of the supported joint set of the skeleton as well as joint parent/child relationship.
Signature
ISkeletonMapping Oculus.Interaction.Body.Input.IBody.SkeletonMapping

Events

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

Methods

GetJointPose ( bodyJointId , 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.
Signature
bool Oculus.Interaction.Body.Input.IBody.GetJointPose(BodyJointId bodyJointId, out Pose pose)
Parameters
bodyJointId: BodyJointId
pose: out Pose
Returns
bool
GetJointPoseFromRoot ( bodyJointId , 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.
Signature
bool Oculus.Interaction.Body.Input.IBody.GetJointPoseFromRoot(BodyJointId bodyJointId, out Pose pose)
Parameters
bodyJointId: BodyJointId  The BodyJointId for which to retrieve the pose
pose: out Pose  Output parameter to be populated with the poise of bodyJointId
Returns
bool  True if pose is populated with valid tracking data, false otherwise
GetJointPoseLocal ( bodyJointId , 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.
Signature
bool Oculus.Interaction.Body.Input.IBody.GetJointPoseLocal(BodyJointId bodyJointId, out Pose pose)
Parameters
bodyJointId: BodyJointId
pose: out Pose
Returns
bool
GetRootPose ( 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.
Signature
bool Oculus.Interaction.Body.Input.IBody.GetRootPose(out Pose pose)
Parameters
pose: out Pose
Returns
bool