shield 项目需求分析

武器装备耐久
换武器

换武器, 人物动作都需要换

EquipManager
EquipBase
hp

// 初始武器
// 武器耐久计算
//

2020-03-16

开始新项目demo cocos3d 还原

todo
资源导出
场景资源
prefab 资源
行为树资源
导航网格资源
物理碰撞资源

代码转换
代码兼容性修复
代码重构

系统逻辑开发

step

导出资源到 cocos

场景资源

  1. 直接使用 fbx 资源, 再在 cocos 中做一切
  2. 导出成 gltf 资源, 引入 cc3d-ext-custom-importer 插件, 会自动生成出相应的 prefab, mat 等资源
  3. 使用插件生成的 prefab

行为树资源导出

将资源拖入到 FPSRes 项目中, 使用 Test.cs 脚本导出
在项目中, 使用 BehaviorTree

需要在 Package Manager 安装 preview 的 fbx exporter
使用传统的 navigation 菜单生成导航网格,
然后使用工具, 导出成 mesh,
删掉不必要的 mesh, 然后导出成 gltf,
在 cocos 中, 将 gltf 中的 mesh 放到 Navmesh 组件中。
NavMesh 只支持最简单的寻路

基础逻辑已添加
基础库已添加
未测试
UI开发流程需测试

C# 转 ts 工具完成, 需要人肉再修改

角色行走
角色动作播放
武器装备管理
角色射击
敌人AI
关卡流程
背包
怪物掉落

C# 转 TypeScript
codetranslator
Generate TypeScript Classes from C# with TypeScriptSyntaxPaste
csharp2ts
C# to TypeScript

ts行为树实现

cocos3d 发布微信小游戏

jsmap 不对, 打断点的位置与执行位置对不上
@help 标签在微信小游戏有 bug

物理碰撞移动

ccc3d 中, 角色移动暂时还是用的 navmesh, 因为用 Rigbody 有问题

  1. cannon 不支持 胶囊体
  2. 使用 isKinematic 会无视碰撞
  3. 不使用 isKinematic 有时候会不受控制移动, 需要调查

行为树

导出行为树数据

相比 fpsres 修改:

  1. Behavior 组件如果有 ExternalBehavior 直接导出它的 ExternalBehavior;
  2. ExternalBehavior 导出之前需要调用 init。
  3. 子行为树引用, 需要先 Init, 然后用子行为树的 BehaviorSource.RootTask。

行为树修改

Task 新增 getComponent 方法

敌人配置

瞄准线


boss 技能总结归纳

boss 介绍, 说明文字 + 贴图

boss1 屠夫

根据血量 分阶段行为触发

普通

近战攻击
动作关键帧
不会被打断

蓄力

指向性条状
不会被打断

冲撞

撞到物体停止, 有最大距离
掩体会被破坏 (必须每个模型一个碰撞体)
普通未命中积累次数触发

投弹

有前摇
区域内出现多个不重叠小区域
朝小区域投弹
炸弹范围伤害
冲撞结束投弹

狂暴

自动掉血 buff
随机触发投弹或冲撞

boss2 厨师长

蓄力, 指向性条状区域

火焰效果

动态障碍
范围越来越大

消防警报

读条触发
喷水效果
熄灭火焰
警报配置在场景内
有 UI 位置提示

读条期间/(喷水期间)

召唤杂兵
杂兵数量受警报次数影响

饲养员

本体

逃避
徘徊

狗

警示圈
扑击
攻击,速度受饲养员血量影响

时间内累计受伤超阈值,

触发 饲养员治疗
召唤高级饲养员, 攻击饲养员

机械师

近战攻击
低血量激活无人机

电击枪

远程麻痹攻击
点击屏幕解除麻痹

无人机

受击溃之后进入休眠状态
读条进行自我修复
修复完毕重新发挥作用

防御

增加免疫护盾
开始读条 启动治疗
受伤暂停读条
读条进度会保存
读条完毕,自动休眠

治疗

持续恢复生命

治疗无人机启动之后,机械师行为
治疗无人机被休眠之后, 防御无人机怎么样了?

药剂师

基础移动逻辑?
丢注射剂远程攻击
丢药瓶更远程攻击

丢药瓶

范围警示
召唤绿色毒物

绿色毒物

猜中触发效果
有持续时间

毒物buff

持续伤害
减速
有持续时间

找防御针

每掉一定血量触发
随机目标点(配置场景内某一位置?)
读条
增加防护罩

读条

可以备攻击打断
读条进度不报错

防护罩

免疫玩家伤害

玩家找红色药剂瓶

红色药剂瓶

有 UI 提示
读条
召唤红色毒物

红色毒物

从小到大扩散
被踩小时
被玩家踩到一次性掉血
被药剂师踩到, 消除防护罩,或掉血

SceneUnit 解析
消防警报
灭火器
刷怪器
可燃障碍
可燃子弹

UI 处理

逻辑有点乱, 暂时不处理

导出工具建议

prefab 单独抽出来, 全部平铺在一起不好使用。

喷火, 蓄力

技能配置
攻击范围
蓄力时间


https://leafflow.top/2023/02/07/daily/2020-3/
作者
vollen
发布于
2023年2月7日
许可协议