The hierarchy of joints and their names.


class ARSkeletonDefinition : NSObject


A skeleton definition establishes the relationship of joints that make up a 3D or 2D body's skeleton, in which joints connect to other joints to compose a single skeleton in a parent-child hierarchy. Use parentIndices to identify the hierarchy for a given skeleton definition.

ARKit names particular joints that are crucial to body tracking. You can access named joints by calling index(forJointName:) and passing in one of the available jointNames identifiers.


Locating in the Physical Environment

var neutralBodySkeleton3D: ARSkeleton3D?

The 3D skeleton in neutral pose.

class var defaultBody3D: ARSkeletonDefinition

The default skeleton definition for bodies defined in 3D.

Locating in Screen Space

class var defaultBody2D: ARSkeletonDefinition

The default skeleton definition for bodies defined in 2D.

Getting Joint Information

var jointNames: [String]

A collection of unique joint names.

var jointCount: Int

The skeleton's total number of joints.

func index(for: ARSkeleton.JointName) -> Int

Returns the index for a given joint identifier.

var parentIndices: [Int]

The parent index for each joint.


Inherits From

Conforms To

See Also

Getting Joint Information

var definition: ARSkeletonDefinition

The particular configuration of joints that define a body's current state.

func isJointTracked(Int) -> Bool

Tells you whether ARKit tracks a joint at a particular index.

struct ARSkeleton.JointName

A name identifier for a joint.