A walk cycle is not movement.
Compare a character that only animates, one moved by gameplay code, and one driven by an extracted motion channel. The distinction lives in the scene graph, not inside a magical animation setting.
Auditing the loaded clip before comparing three movement policies.
- Phase
- -
- Body track
- -
- Root track
- -
- Clips
- -
- Duration
- -
- Keyframes
- -
- Local position
- -
- Scene root
- -
A glTF clip may animate a bone or body node without carrying world travel.
The model pose changes, but its parent stays at the same world position.
- World Z
- -
- Phase
- -
This is the common “the legs move but the character does not travel” baseline.
- Accumulated Z
- -
- Proxy Z
- -
- Cycles
- -
- Distance/cycle
- -
A synthetic proxy track is sampled, its per-frame delta is accumulated on the parent, and the proxy is never presented as world travel.
The source RobotExpressive walk has a Body.position track but no scene-root position track; this study keeps that limitation visible.
The extracted lane deliberately uses a synthetic proxy track because the source asset does not include scene-root travel. Add ?forceWebGL=1 for a WebGL2 comparison.