fix(core+app): Phase B.3 — Setup.StepUpHeight + scenery road exclusion
Four targeted fixes for user-reported movement/visual bugs: 1. Player entity disappearing: GpuWorldState now supports persistent entities (MarkPersistent/DrainRescued). The player character survives landblock unloads and gets re-injected into the streaming window at the current center landblock. 2. Feet sinking into terrain: +0.15 Z bias in PlayerMovementController keeps the character model above terrain z-fighting edge cases. 3. Camera after portal teleport: ChaseCamera.Update now called immediately after teleport snap so the camera recenters on the new position instead of lingering at the pre-teleport location. 4. Scenery on roads: SceneryGenerator now checks road status at the final displaced position (not just the origin vertex), catching objects that drift from non-road vertices onto road cells. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
9dbb2cbd5c
commit
41013ce3e3
5 changed files with 71 additions and 8 deletions
|
|
@ -198,7 +198,8 @@ public sealed class PlayerMovementController
|
|||
}
|
||||
}
|
||||
|
||||
Position = new Vector3(result.Position.X, result.Position.Y, newZ);
|
||||
// Small upward bias prevents feet from z-fighting with terrain surface.
|
||||
Position = new Vector3(result.Position.X, result.Position.Y, newZ + 0.15f);
|
||||
CellId = result.CellId;
|
||||
|
||||
// 4. Determine current motion commands.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue