test(vehicle): park the Chaos pawn and give the physics its own task

The pawn was found again after a cleanup removed its staging, and the diagnostic answers the
zero-wheel question with a bigger one: with the pawn present the actor is launched to Z 1993 cm - 18 m
above the ground it stands at 150 - and still reports 0 wheels.

  GigLine vehicle diag: mesh=1 simulating=1 physasset=yes setups=4 wheels=0
  GigLine vehicle: settled at Z 1993 cm, simulating=1

Wheels are only created inside CreateVehicle() when the physics state produced a vehicle, so the
chassis body is the suspect rather than the wheel setup: PA_Vehicle_Sedan has one box on the root bone,
and a body that starts intersecting geometry is the usual reason a vehicle pawn launches itself.

Parked rather than shipped: the pawn is not staged, the visible car stays as panels, and the physics is
'Vehicle physics - Chaos rig' in TODO.md with the evidence and three concrete steps. The demo no longer
carries an 18 m flying car in its captures.
This commit is contained in:
zwitschi committed 2026-11-09 20:50:52 +01:00
1 parent f65c6e8d45
commit 4498274328
109 files changed
+178 -130

No files matched your search

+5
View File
@@ -756,6 +756,11 @@ def build():
staged_panels += 1
log(f"staged: {staged_panels} Demo_VehiclePanel actors (plain static meshes)")
# The Chaos pawn is NOT staged. With it present the actor is launched to Z 1993 cm (18 m up)
# and reports zero wheels, so it litters the scene without providing a drivable vehicle. The
# vehicle physics is its own task now; the visible car stays as plain panels.
log("staged: Demo_Vehicle_Sedan skipped - Chaos pawn parked (see TODO.md)")
# A lockable LFS .umap checks out read-only, which makes save_map silently
# return False — chmod u+w first or the staged actors never persist.
umap = os.path.join(unreal.Paths.project_dir(), MAP.replace("/Game/", "Content/") + ".umap")