Skip to content

misun-blip/Third-Person-Meele-Battle-System

Repository files navigation

近战战斗系统与敌人 AI 项目

项目概述

该项目是一个基于 Unity 引擎的近战战斗系统,包含完整的敌人 AI 行为逻辑、玩家战斗控制、动画状态管理及战斗交互机制。系统设计采用状态机模式实现敌人行为切换,支持多种攻击方式、连击机制、反击判定和敌人协同警戒等功能。

核心功能

1. 战斗系统

  • 支持多种攻击类型(左手、右手、左脚、右脚、剑)
  • 攻击动画与 hitbox 同步控制
  • 连击机制与攻击冷却管理
  • 伤害计算与受击反馈
  • 反击判定与执行系统

2. 敌人 AI

  • 状态机管理(Idle/CombatMovement/Attack/RetreatAfterAttack/Dead/GettingHit)
  • 视野感知与目标检测
  • 战斗移动(追逐 / 环绕 /idle 状态切换)
  • 群体警戒机制(敌人间信息共享)
  • 攻击决策系统(选择最优攻击时机)

3. 玩家控制

  • 第三人称视角移动
  • 战斗模式切换与目标锁定
  • 攻击与反击操作
  • 相机跟随与视角控制

项目结构

Scripts/
├── Combat System/          # 战斗核心系统
│   ├── AttackData.cs       # 攻击数据配置
│   ├── CombatController.cs # 战斗控制器
│   └── MeeleFighter.cs     # 近战战斗者基类
├── Enemy/                  # 敌人相关
│   ├── EnemyController.cs  # 敌人控制器
│   ├── EnemyManager.cs     # 敌人管理器
│   ├── VisionSensor.cs     # 视野传感器
│   └── States/             # 敌人状态机
│       ├── IdleState.cs
│       ├── CombatMovementState.cs
│       ├── EnemyAttackState.cs
│       ├── RetreatAfterAttackState.cs
│       ├── DeadState.cs
│       └── GettingHitState.cs
└── Player/                 # 玩家相关
    ├── PlayerController.cs # 玩家控制器
    └── CameraController.cs # 相机控制器

安装步骤

  1. 确保安装 Unity 2019.4 或更高版本
  2. 克隆或下载项目到本地
  3. 在 Unity 中打开项目
  4. 确保已设置 NavMesh(用于敌人导航)
  5. 配置输入管理器(攻击、锁定目标等按键)

操作说明

  • 移动:使用 WASD 或方向键
  • 攻击:按下攻击键(默认 "Attack")
  • 锁定目标:按下锁定键(默认 "LockOn")
  • 反击:在敌人攻击前摇时按下攻击键

设计亮点

  • 采用状态机模式,使敌人行为逻辑清晰可扩展
  • 攻击数据使用 ScriptableObject 管理,便于配置多种攻击
  • 分离战斗逻辑与动画控制,提高代码可维护性
  • 敌人间的协同警戒系统,增强战斗挑战性
  • 相机视角与战斗状态联动,提升沉浸感

注意事项

  • 需为敌人和玩家设置正确的碰撞体与层
  • 动画控制器需包含指定参数(forwardSpeed、strafeSpeed 等)
  • 确保所有攻击动画已正确设置动画事件或时间点
  • 敌人导航需要烘焙 NavMesh 表面

扩展建议

  • 增加武器切换系统
  • 实现更复杂的敌人行为树
  • 添加技能系统与能量管理
  • 增加战斗评分与奖励机制

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages