| name | basketball-layup |
| description | Mimes a basketball layup, driving in with a high knee and laying the ball up to the basket with one hand. Use when the command mentions layup, lay-up, drive to the basket, or finish at the rim. |
| category | sport |
| disable-model-invocation | true |
| subskills | ["move-arm","move-leg","balance-and-posture"] |
basketball-layup
Take off from one foot driving the opposite knee up, extend the shooting arm high to lay the ball off the glass, and travel forward through it. A non-looping sequence with root.z travel.
How
- Gather: shooting arm carrying the ball (
RightUpperArm:[70,0,-20],RightForearm:[0,0,90]), takeoff leg loaded (LeftUpLeg:[40,0,0],LeftLeg:[60,0,0]).
- Rise: drive knee up (
RightUpLeg:[90,0,0],RightLeg:[90,0,0]), arm extends high (RightUpperArm:[10,0,90]), root.y:0.35,root.z:0.5.
- Finish: hand at the rim (
RightUpperArm:[0,0,100]).
Example
- "do a layup" ->
{"durationMs":1500,"say":"Layup!","sequence":{"loop":false,"frames":[{"t":0,"pose":{"RightUpperArm":[70,0,-20],"RightForearm":[0,0,90],"LeftUpLeg":[40,0,0],"LeftLeg":[60,0,0]},"root":{"y":-0.1,"z":0}},{"t":0.5,"pose":{"RightUpperArm":[10,0,90],"RightForearm":[0,0,20],"RightUpLeg":[90,0,0],"RightLeg":[90,0,0],"LeftUpLeg":[0,0,180]},"root":{"y":0.35,"z":0.5}},{"t":1,"pose":{"RightUpperArm":[0,0,100],"RightForearm":[0,0,0]},"root":{"y":0,"z":0.6}}]}}