One Logo Pool Ball
RealityFoundation · IOS API REFERENCE

SkeletonResource.Joint

struct · iOS 27.0+ · SDK 27.1

struct Joint

Describes a single joint of a `Skeleton` Joints form the hierarchical structure of a skeleton. Each joint has a unique name, a rest pose transform relative to its parent, and an optional list of child joints. The hierarchy is expressed through nesting using the `JointBuilder` result builder. ```swift typealias Joint = SkeletonResource.Joint // Create a simple arm hierarchy let arm = try Joint("shoulder") { try Joint("upperArm", restPoseTransform: Transform(translation: [0, -0.3, 0])) { try Joint("forearm", restPoseTransform: Transform(translation: [0, -0.3, 0])) } } ```

Members (6)

get · iOS 27.0+

restPoseTransform

TypeScript
get restPoseTransform(): Transform
Swift declaration
var restPoseTransform: Transform

The rest pose transform of the joint. Defines position, rotation, and scale relative to the parent joint in local space. Used as the reference pose for all animations and deformations.

set · iOS 27.0+

restPoseTransform

TypeScript
set restPoseTransform(value: Transform)
Swift declaration
var restPoseTransform: Transform

The rest pose transform of the joint. Defines position, rotation, and scale relative to the parent joint in local space. Used as the reference pose for all animations and deformations.

get · iOS 27.0+

id

TypeScript
get id(): string
Swift declaration
var id: String { get }

The identifier of the joint, automatically derived from the joint name.

get · iOS 27.0+

name

TypeScript
get name(): string
Swift declaration
let name: String

The unique name of the joint. Names should be unique within a skeleton.

get · iOS 27.0+

children

TypeScript
get children(): Array<SkeletonResource_Joint>
Swift declaration
let children: [SkeletonResource.Joint]

The child joints of this joint. All children must have unique names within the same parent. `JointBuilder` preserves the order children are declared in the closure body, so iteration over `children` is deterministic.

init · iOS 27.0+

init

TypeScript
static init(name: string, restPoseTransform?: Transform, children?: (() => Array<SkeletonResource_Joint>)): SkeletonResource_Joint
Swift declaration
init(_ name: String, restPoseTransform: Transform = .identity, @SkeletonResource.JointBuilder children: () throws -> [SkeletonResource.Joint] = { [] }) throws

Creates a joint with the provided name, rest pose transform, and optional children. - Parameters: - name: The unique name of the new joint - restPoseTransform: The local space transformation relative to the parent joint - children: A result builder closure that returns child joints - Throws: If any children share the same name.

Skipped declarations

No declarations were skipped in this snapshot.

All RealityFoundation types →