look_at
Bake a lagged eye-head-spine gaze chain into an animation from fixations or a target bone, with per-level lag, damping, and counter control.
Instructions
Bake a lagged look chain into an animation: eyes -> head -> spine (or any bones: works for bodies).
gaze [[t, gx, gy], ...]: fixations in normalised gaze units (-1..1, +x = viewer's right, +y = up); saccades are instant. Or target = a bone whose translate keys in that animation are the gaze path (divided by target_range, default the length of the target's parent bone: face_look_base on a face rig). levels [{bone, channel: translate|rotate, range: [x, y] (px, or degrees per unit gaze), weight (share of the gaze it takes), lag (dead time s), hz + zeta (damped-spring response), limit (normalised radius for translate, degrees for rotate), role: "eyes"}]. Default on a face rig: face_look (eyes, instant), turn_ctrl (0.4 of the gaze, 100 ms later, slight overshoot), and spine= (0.15, two frames after the head, via an inserted carrier bone so the artist's keys stay). counter=True: the eyes take gaze minus the other levels, so they jump first and roll back as the head arrives (vestibulo-ocular reflex). loop=True solves the response periodically.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fps | No | ||
| gaze | No | ||
| loop | No | ||
| spine | No | ||
| levels | No | ||
| target | No | ||
| counter | No | ||
| project | Yes | ||
| duration | No | ||
| animation | Yes | ||
| target_range | No |