test(vehicle): the terrain alone reproduces it, and two collision fixes did not help
Built the map-content bisect the task asked for: Tools/ue_vehicle_probe_map.py duplicates ReviewMap, optionally adds one demo mesh and the pawn, and saves it as VehicleProbe. control (no extra mesh) Z 300 -> 297 rests on the review floor + Terrain_DEM Z 300 -> 498 thrown upward So Terrain_DEM alone reproduces the fault in a map that works. Two fixes were tried: - Tools/ue_clear_simple_collision.py cleared the auto-generated convex hulls from all 76 site/street meshes - the terrain had ONE convex element over 279 m - and set them to complex-as-simple. Still rises. - The terrain component set to QueryOnly, so traces hit it and physics ignores it. Still rises. Neither changed the behaviour, so the ejection is neither the convex hull nor the collision channel. The next probe is the complex triangles themselves: give Terrain_DEM no collision at all in the probe map and see whether the pawn falls. If it falls, the triangle winding is pushing bodies out of the ground mesh - the same inverted-winding family that made the sidewalk unstandable earlier. Both tools have README rows; the pawn is parked again.
This commit is contained in:
1 parent
410d924403
commit
a1771cb55f
103 files changed
+393
-174
No files matched your search
@@ -75,6 +75,22 @@ The actor keeps rising at ~1200 cm/s while its velocity is pinned to zero. **Som
|
||||
|
||||
`Game/GigLine/Source/GigLine/*.cpp` contains exactly one direct transform write outside the character (`GigLineShotActor` moves its camera), so the writer is engine-side: the Chaos vehicle component driving `UpdatedComponent` from a vehicle state that was never created, or a skeletal-mesh transform update.
|
||||
|
||||
### Map-content bisect: the terrain is involved
|
||||
|
||||
Built `Tools/ue_vehicle_probe_map.py` (duplicates `ReviewMap`, optionally adds ONE demo mesh plus the pawn, saves as `VehicleProbe`) and ran it:
|
||||
|
||||
```
|
||||
control (no extra mesh) Z 300 -> 297 over 1.25 s (resting on the review floor)
|
||||
+ Terrain_DEM Z 300 -> 498 over 1.25 s (thrown upward)
|
||||
```
|
||||
|
||||
So `Terrain_DEM` is enough to reproduce it in a map that otherwise works. Two fixes were then tried and **neither helped**:
|
||||
|
||||
- `Tools/ue_clear_simple_collision.py` cleared the auto-generated convex hulls from all 76 site/street meshes (terrain had **1 convex element** over the whole 279 m) and set complex-as-simple - still rises.
|
||||
- Setting the terrain component to `CollisionEnabled::QueryOnly` so traces still hit it but the physics solver ignores it - still rises.
|
||||
|
||||
That means the ejection is not the convex hull and not the collision channel; the next probe is whether it is the _complex_ triangles (inverted winding pushing bodies out) - test by setting `Terrain_DEM` to **no collision at all** in the probe map and confirming the pawn falls.
|
||||
|
||||
### Bisect plan for the next pass
|
||||
|
||||
1. Spawn the same pawn in `ReviewMap` (flat 160 m floor, no slices, no UCX ground) and repeat the profile. Flies there too -> the asset/component is at fault. Settles there -> something in `DemoMap` (the UCS slabs, the terrain, or the world settings) drives it.
|
||||
@@ -116,6 +132,22 @@ The actor keeps rising at ~1200 cm/s while its velocity is pinned to zero. **Som
|
||||
|
||||
`Game/GigLine/Source/GigLine/*.cpp` contains exactly one direct transform write outside the character (`GigLineShotActor` moves its camera), so the writer is engine-side: the Chaos vehicle component driving `UpdatedComponent` from a vehicle state that was never created, or a skeletal-mesh transform update.
|
||||
|
||||
### Map-content bisect: the terrain is involved
|
||||
|
||||
Built `Tools/ue_vehicle_probe_map.py` (duplicates `ReviewMap`, optionally adds ONE demo mesh plus the pawn, saves as `VehicleProbe`) and ran it:
|
||||
|
||||
```
|
||||
control (no extra mesh) Z 300 -> 297 over 1.25 s (resting on the review floor)
|
||||
+ Terrain_DEM Z 300 -> 498 over 1.25 s (thrown upward)
|
||||
```
|
||||
|
||||
So `Terrain_DEM` is enough to reproduce it in a map that otherwise works. Two fixes were then tried and **neither helped**:
|
||||
|
||||
- `Tools/ue_clear_simple_collision.py` cleared the auto-generated convex hulls from all 76 site/street meshes (terrain had **1 convex element** over the whole 279 m) and set complex-as-simple - still rises.
|
||||
- Setting the terrain component to `CollisionEnabled::QueryOnly` so traces still hit it but the physics solver ignores it - still rises.
|
||||
|
||||
That means the ejection is not the convex hull and not the collision channel; the next probe is whether it is the _complex_ triangles (inverted winding pushing bodies out) - test by setting `Terrain_DEM` to **no collision at all** in the probe map and confirming the pawn falls.
|
||||
|
||||
### Bisect plan for the next pass
|
||||
|
||||
1. Spawn the same pawn in `ReviewMap` (flat 160 m floor, no slices, no UCX ground) and repeat the profile. Flies there too -> the asset/component is at fault. Settles there -> something in `DemoMap` (the UCS slabs, the terrain, or the world settings) drives it.
|
||||
|
||||
Reference in new issue
Block a user