# 玩家角色控制 — 设计文档 > 对应程序实现:角色控制器、摄像机系统、动画蓝图 --- ## 设计目标 让玩家"成为那个男孩"——操作直觉、移动流畅,通过简单的操控就能沉浸在城郊场景的漫游中。控制器不应成为体验的障碍。 --- ## 视角设计 ### 摄像机:第三人称跟随 - **风格参考**: 《我的暑假》的观察距离——不远不近,能看到角色全身和周围环境 - **默认距离**: 角色身后约3-4米,略高于角色头部(约15°俯角) - **镜头特点**: - 跟随平顺,有轻微延迟(软跟随,不生硬锁定) - 角色转身时镜头平滑过渡 - 靠墙时镜头自动拉近,避免穿墙 ### 操作方式 | 操作 | 手柄(默认) | 键鼠 | |------|-------------|------| | 移动 | 左摇杆 | WASD | | 视角 | 右摇杆 | 鼠标移动 | | 跑步 | 按住左摇杆 / R1 | 按住 Shift | | 蹲下 | R3 / ○ | 按住 Ctrl | | 交互 | △ / A | E | | 取消/返回 | ○ / B | ESC | > 注:优先适配键鼠操作,手柄映射作为后续优化。 --- ## 移动系统 ### 步行(默认) - **速度**: 正常散步节奏,约 2.5 m/s - **用途**: 探索、观察环境、接近可交互物体 - **特征**: 步行动画自然,有轻微的左右摇摆 ### 跑步 - **速度**: 约步行速度的 1.8 倍(约 4.5 m/s) - **触发**: 按住跑步键 + 移动方向 - **体力**: v0.1 不做体力限制,后续版本可考虑加入(跑累了会喘气减速) - **特征**: 跑步时有明显的加速过渡,停下时有减速惯性 ### 蹲下 - **速度**: 约步行的 0.5 倍 - **用途**: - 探索低矮空间(桌底、床底、矮灌木丛) - 悄悄靠近(捉虫、捉迷藏) - 查看地面上的小东西 - **特征**: 蹲下后视角自动降低,能看到平时忽略的细节 ### 转身与停止 - 转身有动画过渡,不瞬移 - 停止时有惯性减速(约0.2秒),不会突兀地定住 - 急停时有一小步调整动画 --- ## 交互触发方式 ### 靠近触发 - 当角色接近可交互物体(约1.5米)时,屏幕显示交互提示 - 提示样式:物体上方出现简洁的图标 + 文字(如"🔍 查看冰箱") - 多个可交互物体时,优先显示最近的 - 玩家按交互键执行 ### 交互锁定 - 交互中角色自动面朝物体 - 交互动画播放期间,移动输入被短暂抑制 - 可通过取消键提前退出交互 --- ## 动画需求清单 ### 基础移动动画 | 动画 | 优先级 | 说明 | |------|--------|------| | Idle(待机) | P0 | 自然站立,有呼吸起伏和偶尔的小动作 | | Walk(步行) | P0 | 4方向或8方向步行循环 | | Run(跑步) | P0 | 跑步循环,起步和停止有过渡 | | Crouch Idle(蹲伏待机) | P1 | 蹲下时的待机姿势 | | Crouch Walk(蹲伏移动) | P1 | 蹲下时的缓慢移动 | ### 交互动画 | 动画 | 优先级 | 说明 | |------|--------|------| | Pick Up(拾取) | P0 | 弯腰捡起地面物品 | | Open Door(开门) | P1 | 推门/拉门动作 | | Open Drawer(翻抽屉) | P2 | 拉开抽屉查看 | | Examine(端详) | P1 | 拿起物品在手中翻转查看 | ### 过渡动画 | 动画 | 优先级 | 说明 | |------|--------|------| | Walk ↔ Run 过渡 | P0 | 步行与跑步之间的平滑混合 | | Stand ↔ Crouch 过渡 | P1 | 站立与蹲下之间的过渡 | | Stop(急停) | P1 | 从移动状态停止的过渡 | --- ## v0.1 最小可行范围 v0.1 只需实现以下核心操控: ### 必做(P0) - [x] 第三人称摄像机跟随 - [x] WASD 步行移动 - [x] Shift 跑步(速度切换,无体力限制) - [x] 靠近物体显示交互提示 - [x] E 键交互(拾取地面物品) ### 可以简化 - 蹲下系统 → v0.2 再实现 - 动画可以用简单的占位动画 - 摄像机碰撞处理可以简化 ### 不做 - 体力系统 - 攀爬/跳跃 - 手柄适配(v0.1 优先键鼠) - 角色换装/自定义