From 156ded4774ce43ea8f0ee76969705d94365180c1 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Sat, 11 Apr 2026 12:13:06 +0200 Subject: [PATCH] Update first-person navigation controller to use new input bindings --- .../first-person-navigation-controller.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/runtime-three/first-person-navigation-controller.ts b/src/runtime-three/first-person-navigation-controller.ts index d8736d57..3ea2f89d 100644 --- a/src/runtime-three/first-person-navigation-controller.ts +++ b/src/runtime-three/first-person-navigation-controller.ts @@ -3,6 +3,7 @@ import { Euler, Vector3 } from "three"; import type { Vec3 } from "../core/vector"; import { getFirstPersonPlayerEyeHeight } from "./player-collision"; +import { resolvePlayerStartMovementActions } from "./player-input-bindings"; import type { NavigationControllerDeactivateOptions, NavigationController, @@ -143,15 +144,15 @@ export class FirstPersonNavigationController implements NavigationController { } const playerShape = this.context.getRuntimeScene().playerCollider; + const inputState = resolvePlayerStartMovementActions( + this.pressedKeys, + this.context.getRuntimeScene().playerInputBindings + ); const currentVolumeState = this.context.resolvePlayerVolumeState( this.feetPosition ); - const inputX = - (this.pressedKeys.has("KeyD") ? 1 : 0) - - (this.pressedKeys.has("KeyA") ? 1 : 0); - const inputZ = - (this.pressedKeys.has("KeyW") ? 1 : 0) - - (this.pressedKeys.has("KeyS") ? 1 : 0); + const inputX = inputState.moveRight - inputState.moveLeft; + const inputZ = inputState.moveForward - inputState.moveBackward; const inputLength = Math.hypot(inputX, inputZ); let horizontalX = 0;