第一人称射击游戏
- 使用
CharacterController结合摄像机视角与角色朝向解耦控制移动,处理坡面、跳跃与地面检测 - 将键位配置对象序列化到 PlayerPrefs,实现按键自定义修改与跨会话持久化保存
- 利用有限状态机 + StateMachineBehaviour 拆分枪械的待机 / 射击 / 换弹 / 后坐力逻辑,避免巨型
if-else - 使用
ScriptableObject配置枪械与怪物数据,实现数据与逻辑分离,策划可直接调参 - 引入对象池复用子弹实例,消除高频
Instantiate / Destroy带来的 GC 峰值与卡顿