Add lower_control virtual bone (reparents legs for independent orientation). Update look_at fields: body uses "soft" target with slerp=6, head uses "aim" target with instant snap and ±60° clamp. Rename walk.anim.json to walk_fwd_lower.anim.json and add walk_back_lower, walk_left_lower, walk_right_lower anims ported from substrate. Port HandleAnimationLower: signed-angle sector selection (±45°/±135°) drives 4-directional walk anim choice; wedge clamp sets lower_control rotation. Separate aim/soft look targets both track raw mouse for now. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
29 lines
892 B
JSON
29 lines
892 B
JSON
{
|
|
"id": "walk_right_lower",
|
|
"track": "lower",
|
|
"duration": 0.8,
|
|
"loop": true,
|
|
"keyframes": [
|
|
{ "t": 0.0,
|
|
"leg_l": {"scl": [-1, 0]}, "leg_r": {"scl": [ 1, 0]},
|
|
"foot_l": {"pos": [0, 0]}, "foot_r": {"pos": [0, 0]}
|
|
},
|
|
{ "t": 0.2,
|
|
"leg_l": {"scl": [-1, -1]}, "leg_r": {"scl": [ 1, 1]},
|
|
"foot_l": {"pos": [-0.044, 25.47]}, "foot_r": {"pos": [0.249, 25.85]}
|
|
},
|
|
{ "t": 0.4,
|
|
"leg_l": {"scl": [-1, 0]}, "leg_r": {"scl": [ 1, 0]},
|
|
"foot_l": {"pos": [0, 0]}, "foot_r": {"pos": [0, 0]}
|
|
},
|
|
{ "t": 0.6,
|
|
"leg_l": {"scl": [-1, 1]}, "leg_r": {"scl": [ 1, -1]},
|
|
"foot_l": {"pos": [ 0.044, -25.47]}, "foot_r": {"pos": [-0.249, -25.85]}
|
|
},
|
|
{ "t": 0.8,
|
|
"leg_l": {"scl": [-1, 0]}, "leg_r": {"scl": [ 1, 0]},
|
|
"foot_l": {"pos": [0, 0]}, "foot_r": {"pos": [0, 0]}
|
|
}
|
|
]
|
|
}
|