The default camera pitches down 10 degrees, so the floor reads as a plane (drawn as a rectangle) and near/far contacts straddle it. Elevation is pure presentation - IK pins solve in the flat authored view and the posed body tilts, the same pattern as the orbit, so authored canvas targets never go out of reach. The leg-extension roller moves up onto the shin above the ankle and the leg-curl roller tucks under the heel. Fixtures and reference test values regenerated for the pitched camera. Claude-Session: https://claude.ai/code/session_01LEoff8bXGBS83tK1c55Mf7
39 lines
1.2 KiB
JSON
39 lines
1.2 KiB
JSON
{
|
|
"name": "Leg Extension",
|
|
"primary": 2,
|
|
"working": ["leg_r", "leg_l"],
|
|
"props": [
|
|
{"type": "scene", "shapes": [
|
|
{"kind": "line", "pts": [[110, 122], [86, 48]], "w": 9},
|
|
{"kind": "line", "pts": [[104, 124], [166, 120]], "w": 9},
|
|
{"kind": "line", "pts": [[108, 126], [108, 150]], "w": 5},
|
|
{"kind": "line", "pts": [[160, 124], [160, 150]], "w": 5},
|
|
{"kind": "line", "pts": [[104, 150], [166, 150]], "w": 5},
|
|
{"kind": "circle", "c": [114, 90], "r": 3.5, "fill": true, "color": "prop"}
|
|
]},
|
|
{"type": "roller", "at": ["foot_r", "foot_l"], "side": 1, "r": 5, "back": 7}
|
|
],
|
|
"frames": [
|
|
{
|
|
"hold": 0.4, "tween": 1.0,
|
|
"root": {"pos": [118, 116], "pitch": -20},
|
|
"spine": [0, 4],
|
|
"neck": 32, "head": 4,
|
|
"shoulder_r": -1, "elbow_r": 15,
|
|
"shoulder_l": -1, "elbow_l": 15,
|
|
"hip_r": 80, "knee_r": 93,
|
|
"hip_l": 80, "knee_l": 93
|
|
},
|
|
{
|
|
"hold": 0.4, "tween": 1.2,
|
|
"root": {"pos": [118, 116], "pitch": -20},
|
|
"spine": [0, 4],
|
|
"neck": 32, "head": 4,
|
|
"shoulder_r": -1, "elbow_r": 15,
|
|
"shoulder_l": -1, "elbow_l": 15,
|
|
"hip_r": 80, "knee_r": 6,
|
|
"hip_l": 80, "knee_l": 6
|
|
}
|
|
]
|
|
}
|