foitin/pipeline/combat_clips.md
m3ultra da1cceadc2 Two real fighters: KACHUJIN and VESPER, 11 moves each from Mixamo combat clips
- per-frame hips-centred rendering + root-motion export (the BKB .geo
  approach modernised): traveling clips stay pivot-stable, movement data
  goes to root_motion_frames in data.json
- engine: frame-indexed root motion, pushbox widened for real sprites
- clip set: ginga idle, walks, jump, block, punching/boxing/martelo
  normals, chapa-giratoria QCF special, hit react, knockdown
- verified in-game: demo jab connects, damage applied, mirroring correct

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 19:50:56 +10:00

1.8 KiB

Combat clip set (Mixamo → clip bank)

Search terms chosen to hit Mixamo's proper combat clips (probe with node fetch.cjs search "<term>" first — top hits are often themed junk). Fetch in-place variants where offered (root motion stays on origin; the engine's root_motion JSON handles movement instead).

bank name (fetch as) mixamo search FOITIN move
Idle_Fight "idle" (combat genre) / "bouncing fighting idle" idle
Walk_Fwd_Fight "walking" (in place) walk_f
Walk_Back_Fight "walking backwards" (in place) walk_b
Crouch_Fight "crouch idle" / "crouching" crouch
Jump_Fight "jump" (in place) jump
Block_Fight "blocking" / "center block" block
Punch_Jab "jab" / "punching" jab
Punch_Cross "cross punch" / "hook punch" straight
Kick_Roundhouse "roundhouse kick" kick
Kick_Low "low kick" / "leg sweep" sweep (later)
Hit_Head "head hit" / "receiving punch" hit
Knockdown "knocked down" / "falling back death" knockdown
Getup "getting up" / "stand up from back" getup
Special_1 "martial arts" / "flying kick" / "spin kick" rush special
Victory "victory" / "fist pump" win (later)

Kachujin bonus: Mixamo hosts kachujin-branded sword/martial clips — search "kachujin" too; anything that fits becomes her signature specials.

After fetching (bank lives on ultra: ~/Documents/mixamo-fetch/out/):

scp johnking@100.91.239.7:"~/Documents/mixamo-fetch/out/<clips>" ~/Documents/foitin_assets/clips_fight/
blender -b --python pipeline/render_moves.py -- --char <fighter> \
  --clips ~/Documents/foitin_assets/clips_fight --out renders/<id> --rotz 155 --step 2

Rename render folders to FOITIN move names before pack_character.py (or fetch with the right names directly).