```
feat(buildings): 添加金矿建筑功能并优化建筑健康系统 - 为兵营和金矿添加伤害数字显示功能,包括持续时间、上升高度等参数 - 将金矿脚本重构为GoldMine组件,实现定时产出金币机制 - 为所有单位添加NavMeshAgent组件以支持导航寻路 - 为弓箭手、法师等单位添加分离半径和目标扩散参数 - 为建筑添加碰撞体和标签设置 - 修复当前能量字段命名规范(currentEnergy -> _currentEnergy) - 调整金矿健康值从100提升至500 - 统一伤害数字显示相关属性配置 ```
This commit is contained in:
1 parent
27df2aa8b1
commit
1cdb7c3910
22 files changed
+804
-55
No files matched your search
+37
-9
@@ -29,19 +29,47 @@
|
||||
- 进攻路线根据关卡设计分为 1 路、2 路或 3 路。
|
||||
- 单位从己方区域向敌方区域推进,并在路线上寻找最近的有效目标。
|
||||
|
||||
### 2.2 寻路
|
||||
### 2.2 寻路(已实现 ✅)
|
||||
|
||||
当前单位主要沿直线移动,后续需要加入自动寻路能力。
|
||||
**当前状态:**
|
||||
- 已接入 Unity NavMesh 自动寻路系统
|
||||
- 单位可以自动绕过障碍物和地形
|
||||
- 支持左右两路地图布局
|
||||
- 寻路性能已优化(路径更新频率限制为 0.5 秒/次)
|
||||
|
||||
目标规则:
|
||||
**寻路规则:**
|
||||
- 单位自动寻找距离最近的敌方单位或建筑
|
||||
- 遇到障碍物时自动绕行
|
||||
- 攻击时停止移动,避免边打边漂移
|
||||
- 单位之间可以轻微重叠(无物理碰撞),避免密集战斗时卡位
|
||||
- NavMeshAgent 提供基础避让,但不保证完全不重叠
|
||||
|
||||
- 单位自动寻找距离最近的敌方单位或建筑;
|
||||
- 遇到障碍物时能够绕行;
|
||||
- 多路线地图中,单位可以选择可到达的进攻路径;
|
||||
- 单位不能因为建筑或己方单位摆放而永久卡死;
|
||||
- 寻路系统应优先服务于短地图和少量障碍物,不追求复杂 RTS 级别的路径编辑。
|
||||
**技术细节:**
|
||||
- 使用 NavMeshAgent 替代 CharacterController 移动
|
||||
- 攻击时禁用 NavMeshAgent,防止漂移
|
||||
- 移动时重新启用 NavMeshAgent
|
||||
- 攻击距离判定增加 1.5 米缓冲,避免单位互相顶到才攻击
|
||||
|
||||
具体采用 Unity NavMesh 还是轻量级多路线方案,待实现阶段确认。
|
||||
### 2.3 伤害数字反馈(已实现 ✅)
|
||||
|
||||
**当前状态:**
|
||||
- 单位受击时头顶弹出伤害数字
|
||||
- 8 方向黑色描边 + 彩色主字,清晰可见
|
||||
- 根据受击者阵营显示不同颜色和浮动方向
|
||||
|
||||
**显示规则:**
|
||||
|
||||
| 情况 | 数字颜色 | 浮动方向 | 说明 |
|
||||
|------|---------|---------|------|
|
||||
| 友方单位受伤 | 红色 | 向下 | 玩家的士兵被敌人攻击 |
|
||||
| 敌方单位受伤 | 白色 | 向上 | 敌人被玩家的士兵攻击 |
|
||||
| 任何单位治疗 | 绿色 | 向上 | 单位被治疗恢复生命值 |
|
||||
|
||||
**技术细节:**
|
||||
- 每个伤害数字由 9 个 TextMesh 组成(1 个彩色主字 + 8 个黑色描边)
|
||||
- 描边宽度统一为 0.025,所有角色一致
|
||||
- 伤害数字持续 0.8 秒,带缩放和淡出动画
|
||||
- 同时最多显示 60 个伤害数字,防止极端情况刷屏
|
||||
|
||||
## 三、主角定位
|
||||
|
||||
|
||||
Reference in new issue
Block a user