From 1c66b48b283a97ba37455773bf5bd857bbd4a368 Mon Sep 17 00:00:00 2001 From: yuding <1023798085@qq.com> Date: Wed, 28 Jan 2026 11:24:33 +0800 Subject: [PATCH] =?UTF-8?q?feat(walk-control):=20=E5=AF=B9=E6=8E=A5?= =?UTF-8?q?=E6=BC=AB=E6=B8=B8=E5=8A=9F=E8=83=BD=E5=88=B0=E5=BA=95=E5=B1=82?= =?UTF-8?q?=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/managers/walk-control-manager.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/managers/walk-control-manager.ts b/src/managers/walk-control-manager.ts index 48634b6..dcee5e7 100644 --- a/src/managers/walk-control-manager.ts +++ b/src/managers/walk-control-manager.ts @@ -55,22 +55,30 @@ export class WalkControlManager extends BaseManager { this.emit('walk:path-mode-toggle', { isActive }); }, onWalkModeToggle: (isActive) => { - console.log('[WalkControl] 漫游模式:', isActive); + console.log('[WalkControl] 第一人称漫游:', isActive); if (isActive) { this.pathManager?.hide(); + this.registry.engine3d?.activateFirstPersonMode(); + } else { + this.registry.engine3d?.deactivateFirstPersonMode(); } this.emit('walk:walk-mode-toggle', { isActive }); }, onSpeedChange: (speed) => { console.log('[WalkControl] 速度变化:', speed); + // 将 UI 速度值转换为引擎速度值(UI: 1-10, 引擎: 0.01-0.1) + const engineSpeed = speed * 0.01; + this.registry.engine3d?.setWalkSpeed(engineSpeed); this.emit('walk:speed-change', { speed }); }, onGravityToggle: (enabled) => { console.log('[WalkControl] 重力:', enabled); + this.registry.engine3d?.setWalkGravity(enabled); this.emit('walk:gravity-toggle', { enabled }); }, onCollisionToggle: (enabled) => { console.log('[WalkControl] 碰撞:', enabled); + this.registry.engine3d?.setWalkCollision(enabled); this.emit('walk:collision-toggle', { enabled }); }, onCharacterModelChange: (model) => {