Tools
rename_rig_in_glb.py
Renames the rig root node in each character GLB to a consistent name
(Character). This makes all characters share the same skeleton path
Character/Skeleton3D:bone_name, enabling a shared animation library.
python3 tools/rename_rig_in_glb.py
Modifies: Bob.glb, Oldpop.glb, Masbro.glb, Gatot.glb
- bob-rig → Character
- oldpop-rig → Character
- masbro-tpose → Character
- gatot-tpose → Character
Creates .glb.bak backups on first run. Re-runnable; restores from backup
each time to ensure idempotency.
After running, you must reimport in the Godot editor (or via
godot --headless --import).
build_animation_pack.gd
Headless script that extracts all animations from animation-0.glb,
applies rest-pose correction against Bob.glb (the reference rig), and
saves as assets/characters/animations/animation-pack.res.
godot --headless --path . --script tools/build_animation_pack.gd
Run rename_rig_in_glb.py first so the reference skeleton has the
expected path.
The animation-pack contains 15 animations used by the player:
- idle, walk_forward, backflip_1
- take_tile_1, take_tile_2, drop_tile_1, drop_tile_2, spawn_tile_1
- pickup_1, put_1, holding_1
- hit_1, hitted_1, getting_hit_1, stun_1
All tracks use original Blender bone names with path
Character/Skeleton3D:bone_name so they resolve regardless of which
character model is active.
generate_version_json.py
Generates version.json for game update checks.