One Logo Pool Ball
RealityFoundation · IOS API REFERENCE

SkeletalPose

struct · iOS 18.0+ · SDK 27.1

struct SkeletalPose

A container that holds the position and orientation of each joint in a single animation skeleton. Each index in ``jointNames`` directly corresponds to the same index in ``jointTransforms``, linking each joint name to its respective transform.

Members (9)

get · iOS 18.0+

jointNames

TypeScript
get jointNames(): Array<string>
Swift declaration
var jointNames: [String] { get set }

The names of the joints in the pose in specific order. Each joint name has a corresponding transformation value in ``jointTransforms`` at the same index. Updates of the value results in resizing or reordering of the pose's ``jointTransforms`` to match. New joint names add identity transformations at the matching indices.

set · iOS 18.0+

jointNames

TypeScript
set jointNames(value: Array<string>)
Swift declaration
var jointNames: [String] { get set }

The names of the joints in the pose in specific order. Each joint name has a corresponding transformation value in ``jointTransforms`` at the same index. Updates of the value results in resizing or reordering of the pose's ``jointTransforms`` to match. New joint names add identity transformations at the matching indices.

get · iOS 18.0+

jointTransforms

TypeScript
get jointTransforms(): JointTransforms
Swift declaration
var jointTransforms: JointTransforms

The transformations of the joints in the pose. Each joint transformation has a corresponding name in ``jointNames`` at the same index. A new value with element count not matching the element count of ``jointNames`` is accepted but invokes special handling when the ``SkeletalPosesComponent`` is set on an entity.

set · iOS 18.0+

jointTransforms

TypeScript
set jointTransforms(value: JointTransforms)
Swift declaration
var jointTransforms: JointTransforms

The transformations of the joints in the pose. Each joint transformation has a corresponding name in ``jointNames`` at the same index. A new value with element count not matching the element count of ``jointNames`` is accepted but invokes special handling when the ``SkeletalPosesComponent`` is set on an entity.

init · iOS 18.0+

init

TypeScript
static initIdFrom(id: string, skeleton: MeshResource_Skeleton): SkeletalPose
Swift declaration
init(id: SkeletalPose.ID, from skeleton: MeshResource.Skeleton)

Creates a skeletal pose from the rest pose of the model skeleton. - Parameters: - id: The unique name of the pose. - skeleton: The skeleton to extract the joint names and rest pose transformations from.

init · iOS 18.0+

init

TypeScript
static initIdJoints(id: string, joints: Array<[string, Transform]>): SkeletalPose
Swift declaration
init(id: SkeletalPose.ID, joints: [(String, JointTransforms.Element)])

Creates a pose for the joint name and transformation pairs. - Parameters: - id: The unique name of the pose. - joints: An array of tuples, each containing a name and its corresponding transformation, arranged in any order of your choosing.

get · iOS 18.0+

id

TypeScript
get id(): string
Swift declaration
var id: SkeletalPose.ID

The unique identifier of the pose.

set · iOS 18.0+

id

TypeScript
set id(value: string)
Swift declaration
var id: SkeletalPose.ID

The unique identifier of the pose.

subscript · iOS 18.0+

subscript

TypeScript
subscript(joint: string): (Transform) | null
Swift declaration
subscript(joint: String) -> Transform? { get set }

Accesses a pose transformation using the index of the joint name. - Parameter joint: The joint name of transformation to access. - Note: Setting a joint to `nil` has no effect.

Skipped declarations

No declarations were skipped in this snapshot.

All RealityFoundation types →