docs(vehicle): revert the axis fix; the reverse is in the Chaos solver

The axis_forward:X / Blender-Z axle fix changed the reference pose but not the drive
(-2737 cm/s), and axis_forward:X also alters the shared character preset. Revert it.
The Chaos solver drives the wheel about the vehicle's Y (not the bone), and the
drive force is positive yet the car moves backward - the inversion is in the engine
torque / drive-force sign. Next: GetEngineTorque() sign or a SetupVehicle override.
This commit is contained in:
zwitschi committed 2026-11-10 19:45:17 +01:00
1 parent ecdd8208db
commit 911a7059ae
4 files changed
+14 -10

No files matched your search

+12
View File
@@ -1105,3 +1105,15 @@ Historical task context from 2026-11-09/10; later vehicle findings above may sup
velocity axis) or the engine torque sign, not the bone authoring. The horizontal-axle fix
is kept (it is correct even if insufficient): `axis_forward: X` in the character preset and
a Blender-Z wheel tail (`r - copysign(0.25, y)`) so the axle lands on Unreal Y.
## 2026-11-10 — Vehicle reverse is in the Chaos solver, not the assets (revert the axis fix)
- Reverted the `axis_forward: X` / Blender-Z axle fix (`ecdd820`): the reference pose changed
but `-drivetest` still read −2737 cm/s, and `axis_forward: X` lives in the shared character
preset, so it would also alter every character export.
- Traced the Chaos solver: the wheel's local frame is `GroundXVector = CrossProduct(VehicleRightAxis,
GroundZVector)` and the drive force is `FinalLongitudinalForce = DriveTorque / Re`, applied forward —
yet the car moves backward. The wheel spins about the **vehicle's** Y, not the bone's, so the bone
authoring is irrelevant. The inversion is in the **engine-torque / drive-force sign** (`FSimpleWheel`),
not the assets. Next: check `GetEngineTorque()` sign, or override `SetupVehicle`/`ProcessMechanicalSimulation`
in `UGigLineVehicleMovement` to negate the drive torque.