diff --git a/MEMORY.md b/MEMORY.md index 83e5bd3..cfaabc5 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -1060,3 +1060,17 @@ Historical task context from 2026-11-09/10; later vehicle findings above may sup spins about the wrong axis. `FPhysicsAssetUtils`-style body setup is not the cause either (physics already simulates). - Kept `-reversetest` in the drive test as the diagnostic for this. + +## 2026-11-10 — Vehicle reverse: the skeleton is rolled 90° vs the mesh + +- Bone reference poses (`AnimPose.get_ref_bone_pose`) show the armature is **rolled 90°**: + `root` rot (roll 90, 0, 0), `Wheel_FL/RL` rot (90, 0, −180), `Wheel_FR/RR` rot (−90, 0, 0); + wheel centres land at Z ±0.81 instead of Y ±0.81. The mesh vertices are unrotated (bounds + 476 × 228 × 144, nose +X), so the **FBX `axis_forward: -Y` conversion rotates the armature + but not the geometry** — the wheel axle (bone Y) ends up on a rotated axis, which is why the + engine torque drives the wheels backward and why the inward/outward axle flip was a no-op. +- Fix belongs in the bone authoring, not the vehicle component: build the wheel bones so their + Y axis lands on Unreal +Y after the FBX conversion, or set `use_space_transform`/bake the + 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.