新增CameraController,现在项目可以正常运作了。

This commit is contained in:
janing
2025-12-18 13:27:22 +08:00
parent 90175a1665
commit e677b1e11b
11 changed files with 223 additions and 53 deletions

View File

@@ -11,6 +11,7 @@ App/Game/
├── World.ts # 世界管理器,管理所有玩家
├── PlayerController.ts # 本地玩家控制器,处理输入和移动
├── RemotePlayer.ts # 远程玩家类,处理其他玩家的显示和同步
├── CameraController.ts # 摄像机控制器,跟随本地玩家
├── UIGame.ts # 游戏主界面UI
└── README.md # 本文档
```
@@ -82,7 +83,37 @@ await World.getInstance().init(worldRoot, playerInfo);
- `updatePosition(position)`: 更新远程玩家位置(收到 MsgPlayerMove 时调用)
- `destroy()`: 销毁远程玩家
### 4. UIGame (游戏主界面)
### 4. CameraController (摄像机控制器)
**职责:**
- 自动查找场景中的主摄像机(Main Camera)
- 让摄像机跟随指定的目标物体(通常是本地玩家)
- 提供平滑跟随和即时跟随两种模式
- 自动让摄像机朝向目标
**主要特性:**
- **自动查找**: 自动在场景中查找名为"Main Camera"的摄像机节点
- **平滑跟随**: 使用线性插值实现平滑的摄像机跟随效果
- **偏移设置**: 可配置摄像机相对于目标的偏移量(默认: Y+10, Z+8)
- **朝向目标**: 摄像机会自动朝向跟随目标
**主要方法:**
- `setTarget(target)`: 设置跟随目标节点(本地玩家)
- `setOffset(offset)`: 设置摄像机相对偏移量
- `stopFollow()`: 停止跟随
- `getTarget()`: 获取当前跟随目标
- `getCameraNode()`: 获取摄像机节点
**属性配置:**
- `followSpeed`: 跟随速度(默认: 5)
- `smoothFollow`: 是否启用平滑跟随(默认: true)
**使用说明:**
- CameraController 由 World 管理器自动创建
- 只有本地玩家会绑定摄像机跟随,远程玩家不会
- 摄像机控制器会挂载到世界根节点上
### 5. UIGame (游戏主界面)
**职责:**
- 游戏主界面 UI 组件