状态机
这个页面或章节尚在编辑中。
请注意,部分内容可能尚未完成或存在错误。您也可以编辑页面帮助我们完善内容。
请注意,部分内容可能尚未完成或存在错误。您也可以编辑页面帮助我们完善内容。
本条目需要随游戏客户端更新长期维护。
本条目的最后更新时,参考的游戏客户端(简体中文)版本号为2.7.61。
该版本客户端中每个角色类单位都有15个共用的状态机。
该版本客户端中每个敌人类单位都有18个共用的状态机。
本条目的最后更新时,参考的游戏客户端(简体中文)版本号为2.7.61。
该版本客户端中每个角色类单位都有15个共用的状态机。
该版本客户端中每个敌人类单位都有18个共用的状态机。
状态机
在游戏中, 每个干员、召唤物、装置、敌人都是实体, 自身均持有一个层次状态机(HSM)
所有状态都是平级关系且互斥, 但仍然可能会有多个状态机短暂并行的可能性
角色类单位的状态
角色类单位的状态(Character.States)
| 索引 | 枚举 | 状态名称 | 状态现象 | 状态解释 |
|---|---|---|---|---|
| 0 | DEFAULT | 默认 | 使用DEFAULT动画但静止不动 | 初始状态。通常用于部署前的Dummy,正常情况下会立刻切入其他状态机 |
| 1 | IDLE | 待机 | 播放待机动画 | 最常见的状态。尝试使用绑定的普通攻击能力/阻挡攻击能力,成功使用时切换到COMBAT或ATTACK进行攻击。 |
| 2 | ATTACK | 攻击 | 播放攻击动画 | 普通攻击能力期间占位用。 |
| 3 | COMBAT | 阻挡攻击 | 播放阻挡攻击动画 | 阻挡攻击能力期间占位用。检测到不存在阻挡对象时强行切回IDLE状态。 |
| 4 | SKILL | 技能 | 播放技能动画 | 非模式切换类技能的状态, 每帧检测技能可用、能力可用及打断, 不可用或被打断时强制切换IDLE状态。 |
| 5 | STUN | 晕眩 | 播放晕眩动画或动画被暂停 | 播放STUN动画或动画暂停;若检测到不可切换到STUN状态, 则切换到DEFAULT状态。此状态下禁止切换到除DEAD、DOZE状态或REBORN状态外的状态。 |
| 6 | DEAD | 死亡 | 播放死亡动画 | 高权重状态,可强制覆盖其他状态。被标记为死亡,默认下禁止切出和切换到其他状态。 |
| 7 | BORN | 部署 | 播放部署动画 | 部署后自动进入IDLE状态,若有对话则进入DIALOG状态。 因任意原因退出该状态机时视为“部署完成”(部署保护失效) |
| 8 | DISAPPEAR | 消失 | - | |
| 9 | FROZEN | 冻结 | 动画被暂停 | 该状态机下持有缴械,动画暂停, 禁止切换到除DYING和DEAD状态外的状态。 |
| 10 | REBORN | 重生 | 播放重生动画 | 在内部计时器未走完无法被切出。该状态下持有无敌+不可阻挡。 |
| 11 | DYING | 濒死 | 生命值设为0,在动画播放完后强制切换到DEAD状态。在此期间不可被切换到除DEAD状态外的任何状态。 | |
| 12 | DIALOG | 对话 | 触发对话 | 对话结束后仅允许切换到IDLE状态。该状态机下持有无敌+不可阻挡。 |
| 13 | DOZE | 小睡 | 无法行动 | 禁止切换到除DEAD状态或DYING状态外的任何状态。 该状态机下持有无敌+不可阻挡+缴械+无法选中,以及隐藏免疫。 |
| -1 | TERMINAL | 终端? |
敌人类单位的状态
敌人类单位的状态(Enemy.States)
| 索引 | 枚举 | 状态名称 | 状态现象 | 状态解释 |
|---|---|---|---|---|
| 0 | DEFAULT | 默认 | 使用DEFAULT动画但静止不动 | 初始状态。正常情况下会立刻切入MOVE状态机 |
| 1 | MOVE | 移动 | 播放移动动画 | 主状态。每Tick根据条件切换状态,同时尝试索敌成功后切换到COMBAT或ATTACK,若不满足切换条件则继续停留或移动。 |
| 2 | ATTACK | 攻击 | 播放攻击动画 | 进入时检查索敌,若缺失或无法攻击则切回MOVE状态。每帧检查异常状态,若有则切换到异常状态的状态,攻击结束后回退到MOVE状态。 |
| 3 | COMBAT | 阻挡攻击 | 播放阻挡攻击动画 | 逻辑同ATTACK,但索敌主目标默认固定为阻挡者。 |
| 4 | STUN | 眩晕 | 动画被暂停 | 每帧检测是否处于眩晕,结束后切回DEFAULT状态。禁止切换到除UNBALANCE,FALLDOWN,REBORN,DEAD以外的状态。 |
| 5 | DEAD | 死亡 | 播放死亡动画 | 高权重状态,可强制覆盖其他状态。被标记为死亡,禁止切换到除自身以外的任何状态。 |
| 6 | BORN | 出生 | 该状态期间会被大部分能力视为不可选中。结束后自动进入DEFAULT状态。 | |
| 7 | REACH_EXIT | 抵达路径终点 | 抵达路径终点 | 禁止切换到除自身以外的任何状态。若敌人被设置为扣除关卡生命值,则会扣除相应的关卡生命值。 |
| 8 | REBORN | 重生 | 播放重生动画 | 该状态机下持有无敌+不可阻挡+失衡免疫。禁止切换到除自身外的任何状态。 |
| 9 | UNBALANCE | 失衡 | 动画被暂停,拥有初速 | 无法主动移动,激活物理系统,,每帧检查物理速度与施力,物理速度降为0且没有施力时切回DEFAULT状态。 该状态机下持有不可阻挡。 |
| 10 | FALLDOWN | 坠落 | 模型变黑且变小 | 结束后会被标记为死亡。 |
| 11 | DISAPPEAR | 消失 | 模型消失 | 该状态机下持有无敌+不可阻挡+失衡免疫 该状态机期间会被大部分能力视为不可选中。 |
| 12 | BLINK | 闪现 | 位置闪现 | 在一定时间内实现闪现。该状态机下持有无敌+不可阻挡+失衡免疫,禁止切换到MOVE、ATTACK、COMBAT、STUN、PALSY、FROZEN状态。 |
| 13 | FROZEN | 冻结 | 动画被暂停 | 动画被暂停。结束后切换到DEFAULT状态。该状态机下持有缴械。禁止切换到除UNBALANCE、FALLDOWN、REBORN、DEAD以外的状态。 |
| 14 | LEVITATE | 浮空 | 模型浮空 | 模型浮空,该状态机下持有不可阻挡+失衡免疫+缴械。禁止切换到除DEAD和REBORN以外的状态。 |
| 15 | DIALOG | 对话 | 该状态机下持有无敌+不可阻挡+无法攻击。 | |
| 16 | PALSY | 麻痹震颤 | 模型摇晃 | 动画暂停,模型摇晃,无法攻击。结束后切回DEFAULT状态。禁止切换到除UNBALANCE、FALLDOWN、REBORN和DEAD以外的状态。 |
| -1 | TERMINAL | 终端? |
注:不同的干员、敌人、召唤物和装置的状态行为可能会有所不同,这里基于Character类和Enemy类解释。