Record the two skinning root causes: weld corrupts weights, bake needs head/tail plus roll
This commit is contained in:
1 parent
9b65a93587
commit
11f53f66a3
1 file changed
+7
-7
@@ -780,13 +780,13 @@ blocked rig can no longer block the whole release.
|
||||
(the old rest is 180°, so `rest² = identity`); the Quaternius ~76° rest breaks it. Fixed in
|
||||
commit `8b1bf73`: `rest * Quaternion(rest.inverse() * axis, angle)` — backward-compatible
|
||||
(the old 180° rest maps the axis to itself). Godot 277/277.
|
||||
- [ ] Godot skinning import: the arm-down GLB is provably correct (raw vertices x ±0.175, rest
|
||||
tail down, inverse bind matrices arm-down; Blender renders arm-down), and the Godot-imported
|
||||
mesh AABB is also arm-down (x ±0.221), but the render is a T-pose. Root cause narrowed to the
|
||||
Godot glTF importer's `Skin.bind_pose` (inverse bind matrices): its bone direction is rotated
|
||||
(Root `basis.y = −Z` instead of +Y), so the skin deforms the arm-down bind to T-pose. Same
|
||||
result with `export_yup` True and False. Next: compare the old working `npc_casual.glb`
|
||||
bind_pose, isolate with a minimal 2-bone glTF, and check the Godot 4.7.2 issue tracker.
|
||||
- [ ] Godot skinning import: two root causes found. (1) The canonical base's `remove_doubles`
|
||||
weld corrupts the vertex weights — the original `Casual_Hoodie.glb` and a join-only base pose
|
||||
to x −0.224/0.33 (arm-down), but the welded base poses to x ±0.514. Rebuild the base without
|
||||
the weld (or weld only the seam pairs). (2) The arm-down bake needs BOTH the correct head/tail
|
||||
(the world-Y rigid rotation gives the correct ±0.221 mesh) AND the correct roll (the
|
||||
`eb.matrix = pose_matrix` approach fixes the Godot bind_pose but the local-X −90° matrix
|
||||
deforms to ±0.514). Combine: v2's rigid rotation for head/tail + the pose matrix's roll.
|
||||
- [ ] Add regression tests: a bone with a ~76° rest reaches a known global orientation; the
|
||||
Quaternius joint map resolves; the 13-core fallback poses exactly as it does today.
|
||||
- [ ] Verify Idle and Walk on the 62-joint rig: loop seam, foot contact, root motion and frame
|
||||
|
||||
Reference in new issue
Block a user