fix: make the character pipeline work end-to-end in Blender 5.1 + bundle CC0 animation library
Verified the full chain on a real Sketchfab model (Miku UID -> rigged -> 13 clips -> loads and animates in-engine, 24/24 smoke checks pass). Fixes found while running it for real: - sketchfab_import: read .sketchfab_token as UTF-16/BOM too (PowerShell's `echo >` writes UTF-16LE, which crashed the UTF-8 reader) - autorig: rig to the animation library's OWN skeleton when _library.glb is present (zero retargeting); robust binding — fall back to rigid nearest-bone weights when Blender bone-heat fails on complex meshes (Miku's joined hair/clothing gave 0 weighted verts); export as parent_type=ARMATURE with no modifier (Blender 5.x only emits a glTF skin in that exact form — a lingering Armature modifier gave skins:0); export_apply=False (applying modifiers baked away the skin); flatten the Sketchfab empty hierarchy before binding - merge_animations: support a single multi-clip library GLB via LIBRARY_CLIP_MAP; version-safe fcurve access for Blender 4.4+/5.x slotted actions (Action.fcurves was removed) Assets/tooling: - bundle assets/characters/animations/_library.glb — CC0 Quaternius Universal Animation Library (13 game clips), + .gdignore so Godot skips the pipeline-input folder - requirements.txt (stdlib-only; documents Blender-python separation) - pipeline docs updated for the bundled library + swap instructions Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
co-authored by
Claude Fable 5
parent
d05477c135
commit
64bbbf93c6
Binary file not shown.
@@ -0,0 +1,15 @@
|
||||
-------------------------------------------------------
|
||||
License:
|
||||
CC0 1.0 Universal (CC0 1.0)
|
||||
Public Domain Dedication
|
||||
https://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
------------------------------------------------------
|
||||
Models by @Quaternius
|
||||
Consider supporting me on Patreon!
|
||||
|
||||
https://www.patreon.com/quaternius
|
||||
|
||||
-------------------------------------------------------
|
||||
Join the Discord Server:
|
||||
https://discord.gg/vJqnRUYRfT
|
||||
Binary file not shown.
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "Hatsune Miku",
|
||||
"uid": "34f3e7daa4c64c8a8000ae7f90b01ceb",
|
||||
"author": "Tigerar1",
|
||||
"author_url": "https://sketchfab.com/allanromanreyes",
|
||||
"license": "Free Standard",
|
||||
"license_slug": "free-st",
|
||||
"source_url": "https://sketchfab.com/3d-models/hatsune-miku-34f3e7daa4c64c8a8000ae7f90b01ceb"
|
||||
}
|
||||
@@ -3,9 +3,16 @@
|
||||
{
|
||||
"id": "miku",
|
||||
"name": "Miku",
|
||||
"description": "Hatsune Miku — Virtual Idol",
|
||||
"description": "Hatsune Miku \u2014 Virtual Idol",
|
||||
"model": "res://assets/characters/skins/miku_proper_anim.glb",
|
||||
"unlocked": true
|
||||
},
|
||||
{
|
||||
"id": "miku_test",
|
||||
"name": "Miku Test",
|
||||
"description": "",
|
||||
"model": "res://assets/characters/skins/miku_test.glb",
|
||||
"unlocked": true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user