foitin/pipeline/render_geared.sh
m3ultra 347804135d Gear wardrobe state (Phase B): vesper geared with MODELBEAST boxing gloves + headgear
- gear GLBs generated on MODELBEAST (flux product shot -> bg_remove ->
  trellis_mac), staged in foitin_assets/gear/
- pipeline: --attach bone-parents rigid gear (armature-scale compensated,
  '|'-separated spec); render_geared.sh holds calibrated transforms
- vesper: 3-state degradation geared -> base -> torn; specials knock gear
  off first, then shred clothes; kachujin stays 2-state (per-character data)
- spec doc: wardrobe section in CHARACTER_SPEC.md

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 22:23:05 +10:00

25 lines
1.2 KiB
Bash
Executable File

#!/bin/zsh
# Render @geared wardrobe variants (vesper: boxing gloves + padded headgear).
# Gear GLBs: TRELLIS-generated on MODELBEAST from flux product shots
# (~/Documents/foitin_assets/gear/). Offsets calibrated by eye 2026-07-28.
# NOTE: bone namespace differs per rig — vesper (Ch37 fbx) = mixamorig6:,
# kachujin GLB = mixamorig: — adjust the spec if gearing other fighters.
set -e
B=/Applications/Blender.app/Contents/MacOS/Blender
M=~/Documents/mixamo-animations
G=~/Documents/foitin_assets/gear
VESPER_GEAR="$G/headgear.glb|mixamorig6:Head|0.27|0,-0.10,0.015|-50,0,0"
VESPER_GEAR+=";$G/glove.glb|mixamorig6:RightHand|0.19|0,-0.05,0|0,0,90"
VESPER_GEAR+=";$G/glove.glb|mixamorig6:LeftHand|0.19|0,-0.05,0|0,0,-90"
CLIPS="$M/Bouncing Fight Idle.fbx,$M/Walk Forward Left.fbx,$M/Stepping Backward.fbx"
CLIPS+=",$M/Jump Up.fbx,$M/Body Block.fbx,$M/Punching.fbx,$M/Boxing.fbx"
CLIPS+=",$M/Martelo 2.fbx,$M/Hurricane Kick.fbx,$M/Taking Punch.fbx"
CLIPS+=",$M/Death From Right.fbx,$M/Standing To Crouch.fbx"
"$B" -b --python "$(dirname "$0")/render_moves.py" -- \
--char ~/Documents/foitin_assets/woman_athleisure_01.fbx \
--clips "$CLIPS" --out renders/vesper --step 2 --rotz 155 --max-frames 140 \
--attach "$VESPER_GEAR" 2>&1 | grep -E "RENDERED|DONE|rror"