mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
Fix taxi mount orientation and eliminate tile loading hitches
Fixes two critical taxi flight issues: 1. Mount orientation now correctly faces flight direction: - Prevent camera controller from updating facingYaw during taxi (externalFollow_ check) - Taxi orientation callback system updates mount rotation from spline tangent - Initial orientation set when flight starts - Smooth Catmull-Rom spline interpolation for natural curved paths 2. Eliminate frame hitches from tile loading during flight: - New taxiFlightStartCallback uploads ALL precached tiles to GPU before flight begins - Previously tiles loaded async during 3s mount delay but uploaded 1/frame during flight - Now processAllReadyTiles() blocks briefly after mount delay to batch upload everything - Combined with 2.0s terrain update interval and aggressive culling for smooth flight Additional optimizations: - Aggressive taxi culling: skip models <15 units, all foliage/trees, underwater objects - Max render distance reduced to 150 units during taxi - Movement heartbeat packets disabled during taxi (server controls position) - Reduced taxi speed from 32 to 18 units/sec to prevent streaming overload
This commit is contained in:
parent
536b3cea48
commit
2e0a7e0039
7 changed files with 119 additions and 21 deletions
|
|
@ -1119,7 +1119,11 @@ void Renderer::update(float deltaTime) {
|
|||
}
|
||||
|
||||
// Movement-facing comes from camera controller and is decoupled from LMB orbit.
|
||||
if (cameraController->isMoving() || cameraController->isRightMouseHeld()) {
|
||||
// During taxi flights, orientation is controlled by the flight path (not player input)
|
||||
if (taxiFlight_) {
|
||||
// Taxi flight: use orientation from flight path
|
||||
characterYaw = cameraController->getFacingYaw();
|
||||
} else if (cameraController->isMoving() || cameraController->isRightMouseHeld()) {
|
||||
characterYaw = cameraController->getFacingYaw();
|
||||
} else if (inCombat_ && targetPosition && !emoteActive && !isMounted()) {
|
||||
// Face target when in combat and idle
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue