THREE.JS / FOUNDATIONS 98
One rig. Three kinds of motion.
Compare action crossfades, simultaneous normal weights, and a converted additive clip on the same RobotExpressive rig.
Initializing
-
Preparing three independent mixers and their animation actions.
- Base
- -
- Target
- -
- Additive
- -
- Tracks
- -
Clip inputsshared source / cloned actions
Each lane owns a mixer. Only the additive lane converts its overlay clip into relative keyframes.
Crossfade lane-
The destination action is reset, played, then blended in with AnimationAction.crossFadeTo().
Weighted lane-
- Base weight
- 0.65
- Target weight
- 0.35
Both normal actions play at once; the visible pose is the weighted result of their shared property bindings.
Additive lane-
-
Animation action lifecycle
clone clips->clipAction->set weights->crossFade / update->render
AnimationAction weights are observable at runtime; additive conversion changes the clip blend mode.
Animation blending study unavailable.
The three characters share the same model source but use separate mixer state. Add ?forceWebGL=1 for a WebGL2 comparison.
LAB 98 / ANIMATION BLENDING