Skip to content

1681-engine / index / PosePlayer

Class: PosePlayer<Name> ​

Defined in: src/rig/PosePlayer.ts:31

Plays pose clips over time and answers the pose of this moment, blended between keys, with a crossfade when the clip changes. Pure: give it a library of poses and clips, call update(dt), read pose.

ts
const player = new PosePlayer(HUMANOID_POSES, HUMANOID_CLIPS, 'idle');
player.play('walk', { fadeMs: 120 });
player.update(dt);
view.setPose(player.pose);

Type Parameters ​

Type ParameterDefault type
Name extends stringstring

Constructors ​

Constructor ​

ts
new PosePlayer<Name>(
   library, 
   clips, 
   initial
): PosePlayer<Name>;

Defined in: src/rig/PosePlayer.ts:45

Parameters ​

ParameterType
libraryReadonly<Record<string, RigPose>>
clipsRecord<Name, PoseClip>
initialNoInfer<Name>

Returns ​

PosePlayer<Name>

Properties ​

onComplete ​

ts
onComplete: ((clip) => void) | null = null;

Defined in: src/rig/PosePlayer.ts:43

Called when a clip that does not loop reaches its end.


speed ​

ts
speed: number = 1;

Defined in: src/rig/PosePlayer.ts:41

Accessors ​

current ​

Get Signature ​

ts
get current(): Name;

Defined in: src/rig/PosePlayer.ts:54

Returns ​

Name


finished ​

Get Signature ​

ts
get finished(): boolean;

Defined in: src/rig/PosePlayer.ts:58

Returns ​

boolean


pose ​

Get Signature ​

ts
get pose(): RigPose;

Defined in: src/rig/PosePlayer.ts:106

The pose to show now.

Returns ​

RigPose


time ​

Get Signature ​

ts
get time(): number;

Defined in: src/rig/PosePlayer.ts:63

Time into the current clip, ms.

Returns ​

number

Methods ​

play() ​

ts
play(name, options?): this;

Defined in: src/rig/PosePlayer.ts:68

Plays name, fading from the pose shown now over fadeMs. The clip already playing keeps going unless restart.

Parameters ​

ParameterType
nameName
options{ fadeMs?: number; restart?: boolean; }
options.fadeMs?number
options.restart?boolean

Returns ​

this


sample() ​

ts
sample(ms): RigPose;

Defined in: src/rig/PosePlayer.ts:115

The current clip's pose at ms into it.

Parameters ​

ParameterType
msnumber

Returns ​

RigPose


update() ​

ts
update(dt): void;

Defined in: src/rig/PosePlayer.ts:83

Advances by dt seconds.

Parameters ​

ParameterType
dtnumber

Returns ​

void

Released under the MIT License.