本部分针对计划中提到的玩家的攻击、滑翔、攀爬、行走等行为,梳理玩家在游戏中的操作和角色的基本状态,以便于以后的功能实现;作战部分暂不处理,因为作战不是运动状态之一,相对独立,可以稍后实施;之后,添加战斗或其他操作,然后查看是否适合在此处编写或启动单个文档==
1.1基本操作总结
- 玩家的基本操作包括:移动、跳跃、冲刺、攻击、取消攀爬;
1.2 移动操作
- 玩家的移动方向为摄像机的朝向(最熟悉的移动方式);
- 玩家进行移动操作:
- 如果玩家此时处于地面状态,执行跑步、走动动作;
- 如果玩家此时处于浮空状态,不执行动作;
- 如果玩家此时处于飞行状态,向控制方向缓慢移动;
1.3 攻击操作(暂定)
- 玩家进行攻击操作:
- 如果玩家此时处于地面状态,执行攻击动作;
- 如果玩家此时处于浮空状态,执行快速下坠动作;
- 如果玩家此时处于飞行状态,执行快速下坠动作;
- 攻击动作执行过程中,无法进行移动、跳跃操作;
- 攻击动作执行的某些阶段,可以使用冲刺操作;冲刺操作会打断正在播放的攻击动作;
- 攻击动作在执行过程的某些阶段,可以使用攻击动作,新的攻击动作会依据前一动作所处阶段决定最终表现;
- 攻击动作的朝向为玩家角色的当前朝向,如果周围有可攻击目标,则会在攻击操作下达时,调整角色朝向至目标方向;
1.4 跳跃操作
- 玩家在处于地面状态时,进行跳跃操作会执行跳跃动作;
- 跳跃动作可以保持此前运动时的速度;
2、游戏中角色的基本状态
2.1 角色状态
- 玩家的基本状态如下:
- 地面状态:为玩家在地面上所处的状态;
- 浮空状态:为玩家在空中所处的自由落体状态;
- 飞行状态:为玩家在空中所处的飞行状态;飞行状态下,下坠速度较慢;
- 攀爬状态:为玩家攀爬时所处的状态;
2.2 地面状态
- 为玩家在地面上所处的状态,是玩家长时间处于的状态,也是默认所处状态;
- 玩家在该状态下可以进行移动和正常的攻击操作;
- 玩家处于地面状态时,可以通过跳跃短暂切换为浮空状态;
2.3 浮空状态
- 为玩家在空中所处的自由落体状态;
- 玩家在该状态下无法进行移动操作;
- 玩家处于浮空状态时,可以使用攻击操作快速下坠;
- 玩家处于浮空状态,并且距离地面高度较高时,通过跳跃操作可以切换为飞行状态;
- 玩家落地时会切换为地面状态;
2.4 飞行状态
- 为玩家在空中所处的飞行状态;飞行状态下,下坠速度较慢;
- 玩家在该状态下可以通过移动操作控制飞行方向;
- 玩家在该状态下可以使用攻击操作快速下坠;
- 玩家处于飞行状态时,可以通过跳跃操作可以切换为浮空状态;
- 玩家落地时会切换为地面状态;
2.5 攀爬状态
- 为玩家攀爬时所处的状态;
- 玩家在该状态下可以通过移动操作控制攀爬方向;
- 攀爬移动过程中,接近可攀登平面或者地面时,会自动切换为地面状态;
- 处于攀爬状态时,使用取消攀爬操作可以切换为浮空状态;
3、角色状态转换
状态转换关系如下:
3.1 地面状态转换为其他状态
- 规则1:转换为浮空状态;
- 可以通过跳跃动作转换为浮空状态;
- 通过MovementMode状态判断目标是否为下落,如果为下落则为浮空状态;
- 规则2:转换为攀爬状态;
- 当玩家接近可攀爬墙壁,并持续向该方向运动时,切换为攀爬状态;
3.2 攀爬状态转换为其他状态
- 规则3:转换为地面状态;
- 当玩家在攀爬移动过程中接近平面(法向量近似竖直向上),切换为地面状态(包括登上平面和接近地面);
- 规则4:转换为浮空状态;
- 当玩家在攀爬状态下使用取消操作,则可以转化为浮空状态;
3.3 飞行状态转换为其他状态
- 规则5:转换为浮空状态;
- 当处于飞行状态时,使用跳跃操作,转换为飞行状态;
- 规则6:转换为地面状态;
- 当着陆事件触发时,转换为地面状态;
- 规则7:转换为攀爬状态;
- 当玩家接近可攀爬墙壁,并持续向该方向运动时,切换为攀爬状态;
3.4 浮空状态转换为其他状态
- 规则8:转换为飞行状态;
- 当处于浮空状态并且距离地面高度大于阈值时,使用跳跃操作,转换为飞行状态;
- 规则9:转换为地面状态;
- 当着陆事件触发时,转换为地面状态;