Skip to content

Documentation / scene / SkeletonRig

Class: SkeletonRig ​

Defined in: libs/scene/src/animation/skeleton.ts:162

Shared joint rig for skeletal animation.

A rig owns the animated joint nodes, bind pose, humanoid mapping and procedural modifiers. Multiple skin bindings may reference the same rig with different inverse bind matrices.

Extends ​

  • Disposable

Constructors ​

Constructor ​

new SkeletonRig(joints, bindPose, options?): SkeletonRig

Defined in: libs/scene/src/animation/skeleton.ts:177

Parameters ​

joints ​

SceneNode[]

bindPose ​

SkeletonBindPose[]

options? ​

SkeletonRigOptions

Returns ​

SkeletonRig

Overrides ​

Disposable.constructor

Properties ​

_id ​

protected _id: string

Defined in: libs/scene/src/animation/skeleton.ts:164


_joints ​

protected _joints: SceneNode[]

Defined in: libs/scene/src/animation/skeleton.ts:165


_bindPoseByJoint ​

protected _bindPoseByJoint: Map<SceneNode, SkeletonBindPose>

Defined in: libs/scene/src/animation/skeleton.ts:166


_bindPose ​

protected _bindPose: SkeletonBindPose[]

Defined in: libs/scene/src/animation/skeleton.ts:167


_retargetPoseByJoint ​

protected _retargetPoseByJoint: Map<SceneNode>

Defined in: libs/scene/src/animation/skeleton.ts:168


_retargetPose ​

protected _retargetPose: SkeletonBindPose[]

Defined in: libs/scene/src/animation/skeleton.ts:169


_rootJoint ​

protected _rootJoint: SceneNode

Defined in: libs/scene/src/animation/skeleton.ts:170


_rootBindPose ​

protected _rootBindPose: SkeletonBindPose

Defined in: libs/scene/src/animation/skeleton.ts:171


_playing ​

protected _playing: boolean

Defined in: libs/scene/src/animation/skeleton.ts:172


_modifiers ​

protected _modifiers: SkeletonModifier[]

Defined in: libs/scene/src/animation/skeleton.ts:173


_humanoidJointMapping ​

protected _humanoidJointMapping: HumanoidJointMapping<SceneNode>

Defined in: libs/scene/src/animation/skeleton.ts:174


_humanoidRootRotation ​

protected _humanoidRootRotation: Quaternion

Defined in: libs/scene/src/animation/skeleton.ts:175

Accessors ​

disposed ​

Get Signature ​

get disposed(): boolean

Defined in: libs/base/dist/index.d.ts:6107

Returns ​

boolean

Inherited from ​

Disposable.disposed


persistentId ​

Get Signature ​

get persistentId(): string

Defined in: libs/scene/src/animation/skeleton.ts:230

Returns ​

string

Set Signature ​

set persistentId(val): void

Defined in: libs/scene/src/animation/skeleton.ts:234

Parameters ​
val ​

string

Returns ​

void


joints ​

Get Signature ​

get joints(): SceneNode[]

Defined in: libs/scene/src/animation/skeleton.ts:246

Returns ​

SceneNode[]


bindPose ​

Get Signature ​

get bindPose(): SkeletonBindPose[]

Defined in: libs/scene/src/animation/skeleton.ts:250

Returns ​

SkeletonBindPose[]


retargetPose ​

Get Signature ​

get retargetPose(): SkeletonBindPose[]

Defined in: libs/scene/src/animation/skeleton.ts:255

Effective humanoid retarget reference pose.

Returns ​

SkeletonBindPose[]


hasRetargetPose ​

Get Signature ​

get hasRetargetPose(): boolean

Defined in: libs/scene/src/animation/skeleton.ts:260

Whether this rig has a reference pose that is distinct from its bind pose.

Returns ​

boolean


rootJoint ​

Get Signature ​

get rootJoint(): SceneNode

Defined in: libs/scene/src/animation/skeleton.ts:264

Returns ​

SceneNode

Set Signature ​

set rootJoint(joint): void

Defined in: libs/scene/src/animation/skeleton.ts:268

Parameters ​
joint ​

SceneNode

Returns ​

void


rootBindPose ​

Get Signature ​

get rootBindPose(): SkeletonBindPose

Defined in: libs/scene/src/animation/skeleton.ts:273

Returns ​

SkeletonBindPose


humanoidJointMapping ​

Get Signature ​

get humanoidJointMapping(): HumanoidJointMapping<SceneNode>

Defined in: libs/scene/src/animation/skeleton.ts:285

Returns ​

HumanoidJointMapping<SceneNode>


humanoidRootRotation ​

Get Signature ​

get humanoidRootRotation(): Quaternion

Defined in: libs/scene/src/animation/skeleton.ts:289

Returns ​

Quaternion


modifiers ​

Get Signature ​

get modifiers(): SkeletonModifier[]

Defined in: libs/scene/src/animation/skeleton.ts:293

Returns ​

SkeletonModifier[]


playing ​

Get Signature ​

get playing(): boolean

Defined in: libs/scene/src/animation/skeleton.ts:297

Returns ​

boolean

Set Signature ​

set playing(b): void

Defined in: libs/scene/src/animation/skeleton.ts:301

Parameters ​
b ​

boolean

Returns ​

void

Methods ​

on() ​

on<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:630

IEventTarget.on

Type Parameters ​

K ​

K extends "dispose"

Parameters ​

type ​

K

listener ​

EventListener<{ dispose: []; }, K>

context? ​

unknown

Returns ​

void

Inherited from ​

Disposable.on


once() ​

once<K>(type, listener, context?): void

Defined in: libs/base/dist/index.d.ts:634

IEventTarget.once

Type Parameters ​

K ​

K extends "dispose"

Parameters ​

type ​

K

listener ​

EventListener<{ dispose: []; }, K>

context? ​

unknown

Returns ​

void

Inherited from ​

Disposable.once


off() ​

off<K>(type, listener?, context?): void

Defined in: libs/base/dist/index.d.ts:638

IEventTarget.off

Type Parameters ​

K ​

K extends "dispose"

Parameters ​

type ​

K

listener? ​

EventListener<{ dispose: []; }>

context? ​

unknown

Returns ​

void

Inherited from ​

Disposable.off


dispatchEvent() ​

dispatchEvent<K>(type, ...args): void

Defined in: libs/base/dist/index.d.ts:642

IEventTarget.dispatchEvent

Type Parameters ​

K ​

K extends "dispose"

Parameters ​

type ​

K

args ​

...object[K]

Returns ​

void

Inherited from ​

Disposable.dispatchEvent


dispose() ​

dispose(): void

Defined in: libs/base/dist/index.d.ts:6108

Returns ​

void

Inherited from ​

Disposable.dispose


getRigKey() ​

static getRigKey(joints, rootJoint?): string

Defined in: libs/scene/src/animation/skeleton.ts:217

Parameters ​

joints ​

SceneNode[]

rootJoint? ​

SceneNode

Returns ​

string


findRigById() ​

static findRigById(id): SkeletonRig

Defined in: libs/scene/src/animation/skeleton.ts:221

Parameters ​

id ​

string

Returns ​

SkeletonRig


getBindPoseForJoint() ​

getBindPoseForJoint(joint): SkeletonBindPose

Defined in: libs/scene/src/animation/skeleton.ts:277

Parameters ​

joint ​

SceneNode

Returns ​

SkeletonBindPose


getRetargetPoseForJoint() ​

getRetargetPoseForJoint(joint): SkeletonBindPose

Defined in: libs/scene/src/animation/skeleton.ts:281

Parameters ​

joint ​

SceneNode

Returns ​

SkeletonBindPose


getJointIndex() ​

getJointIndex(joint): number

Defined in: libs/scene/src/animation/skeleton.ts:305

Parameters ​

joint ​

SceneNode

Returns ​

number


getJointIndexByName() ​

getJointIndexByName(jointName): number

Defined in: libs/scene/src/animation/skeleton.ts:309

Parameters ​

jointName ​

string

Returns ​

number


computeBindPose() ​

computeBindPose(): void

Defined in: libs/scene/src/animation/skeleton.ts:313

Returns ​

void


apply() ​

apply(deltaTime): void

Defined in: libs/scene/src/animation/skeleton.ts:328

Parameters ​

deltaTime ​

number

Returns ​

void


reset() ​

reset(): void

Defined in: libs/scene/src/animation/skeleton.ts:334

Returns ​

void


onDispose() ​

protected onDispose(): void

Defined in: libs/scene/src/animation/skeleton.ts:338

Returns ​

void

Overrides ​

Disposable.onDispose

Released under the MIT License.