Loading...
Loading...
Turn a move into a humanoid animation from video: two-camera mocap, foot lock, loop cut, gates.
npx skill4agent add tipoli5890/unity-dev-skills humanoid-motionunity-rigged-characterreference/humanoid-contract.md| Symptom | Go to |
|---|---|
| "Turn this move into an animation"; two-camera mocap; which source (video or a pack) | Which source; |
| The halves of the H3 take play out of step, colours swap, a limb vanishes | reroll the seed ( |
| |
| |
"The solve pops": | |
| Jitter on a clean overlay | raise |
| "Feet slide", "lock the feet"; no plant found | |
| |
| Where to cut the walk loop; the loop pops at the seam | |
| A clip without travel for a controller | |
| Fingers flat or wrong | |
| Can this clip be sold in the EU? | |
The solve is raw material, never the clip. Each stage has a gate that can fail, and a take that fails is re-rolled, re-filmed or trimmed, not hand-repaired. Nothing here retimes a clip or paints a pose.
| The move | Source | Read |
|---|---|---|
| Any move for a contract-rigged character: walk, run, idle, a strike, a leap no actor can do, a Q-version body | two cameras: front + side reference → local H3 video → per-character reader → two-view triangulation → fitted to the rig, no retarget | |
| A clip pack already has it | a pack, retargeted (in place or with translation) | |
scripts/twocam/twocam.pyruns/<character>/--blenderBLENDERblender| # | Subcommand | Once per | Writes | Look at before the next |
|---|---|---|---|---|
| 1 | | character | | the solved bones and feet it lists |
| 2 | | character | | |
| 3 | | move | | the H3 take itself: both halves in step, colours unswapped. A bad take is rerolled here, before an hour of training |
| 4 | | character | | |
| 5 | | character (CUDA) | | |
| 6 | | move | | |
| 7 | | move | | slide, |
filmmake_prompt.pyreference/two-camera.md| # | Stage | Run | Gate |
|---|---|---|---|
| 1 | Contact bake | | exit 0: slide p95 ≤ 1.5 cm, max ≤ 3 cm, |
| 2 | Loop cut | | |
| 3 | Gate | | exit 0 |
| 4 | FBX | | |
| 5 | Unity | | every binding resolves on every contract character |
| 6 | Record | | |
reference/pipeline.md| Path | Role |
|---|---|
| the runner: |
| the stages it calls (layout, skeleton, prompt, film, reader, detect, solve, exam, Blender scripts): |
| host (BVH) or Blender (action): plants from contact probabilities or the shared plant detector, sole heights from |
| BVH read/write/FK and Euler conversions for |
| the front half: the frame, the skeleton, the stages, the reader, the fit, the gates, the exam |
| the back half: commands, the ledger records, failures and fixes |
| the fixed hand poses a clip ships with |
S=<repo>/skills/humanoid-motion/scripts
python3 $S/bvh_io.py --selftest && python3 $S/contact_bake.py --selftest
blender -b --factory-startup -P $S/contact_bake.py -- --selftest-blendercontact_bake.pymotion_metrics.pyskills/blender-retarget/scriptsreference/two-camera.mdfilmdatasettrainRootsole_offsetsmotion_metricspops_in_sourcepopssolve.py --despikereference/hands.mdlicencedepends-onminimax-h3-localcharacter-autorigblender-character-rigkblender-retargetcomfyui-asset-generationunity-rigged-characterunity-animationsprite-from-video