THREE.JS / FOUNDATIONS 95

Names are part of the rig.

Both Soldier targets have been renamed into an arbitrary control-rig vocabulary. The center target resolves with an explicit dictionary; the right target resolves through the official getBoneName callback.

Initializing -

Loading the renamed target skeletons.

Source bones
-
Target bones
-
Map entries
-
Source-only
-
Name resolution contract-
Resolver accountingsame target, two APIs
names map tracks
-
callback tracks
-
callback calls
-
mapped duration
-

Both targets should receive equivalent converted tracks when the resolver returns the same source names.

Arbitrary map sampletarget role -> source bone
Loading mapping...
Retargeting lifecycle
rename target bones->resolve target role->read source bone->retargetClip->play both

The center uses names; the right uses getBoneName.

This lab deliberately renames the target bones to expose the mapping contract. Unmapped roles resolve to a sentinel and produce no target track. ?forceWebGL=1 forces the WebGL2 backend.

Next: depth conventions ->
LAB 95 / ARBITRARY BONE NAMES