docs(vehicle): record the FBX bakes a -90 deg armature roll
The export rotates the armature -90 deg about X (wheel axle on Z) while leaving the mesh unrotated. Head/tail, axis_forward:X, and armature pre-roll all failed to change the imported bones. Next: post-import skeleton fix or bake_space_transform.
This commit is contained in:
1 parent
3d4e830660
commit
a2f8ddccf1
1 file changed
+18
@@ -1074,3 +1074,21 @@ Historical task context from 2026-11-09/10; later vehicle findings above may sup
|
||||
space transform so mesh and armature share one frame. Verify with the reference-pose probe
|
||||
(`get_ref_bone_pose` → the wheel axle should read ±Y, not ±Z) before re-running the drive
|
||||
test.
|
||||
|
||||
## 2026-11-10 — Vehicle reverse: FBX armature bakes a −90° roll the build can't undo
|
||||
|
||||
- Inspecting `vehicle_skeletal.fbx` (imported back into Blender) shows the export bakes a
|
||||
**−90° rotation about X** into the armature: `root` tail (0,1.64,0), wheel tails at
|
||||
(x, 0.33, ±0.83) — the wheel **axle lands on Z**, not Y. The mesh vertices are exported
|
||||
unrotated (bounds 476×228×144), so mesh and armature come back in different frames.
|
||||
- Three Blender-side fixes were tried and **none changed the imported wheel bones**:
|
||||
1. axle tail along −Z (head/tail) — reference pose unchanged;
|
||||
2. `axis_forward: "X"` on the `_CHARACTER` preset — unchanged;
|
||||
3. armature object pre-roll −90° about X — unrolled the `root` (roll 90→0) but left the
|
||||
wheel bones at roll ±90 / Z ±0.81.
|
||||
- Conclusion: the export bakes the armature conversion regardless of head/tail or the
|
||||
object transform. Remaining options (untried): `bake_space_transform: true` (also rolls
|
||||
the mesh — would need the mesh un-rolled again in Unreal), or a **post-import skeleton
|
||||
fix** — rotate each wheel bone's reference pose −90° about X in `ue_vehicle_import.py`
|
||||
(or a commandlet) so the axle lands on Y. Verify with the `get_ref_bone_pose` probe
|
||||
(axle should read ±Y) before re-running `-drivetest`.
|
||||
Reference in new issue
Block a user