简单分析,需要只狼解包知识,写的思路可以比较跳跃,仅做笔记记录,不是程序,代码的理解带有猜测,如有错误,不吝赐教。
从玩家控制器按钮变化到游戏角色播放动作,大致分为4步
按键输入
窗口判断,true进3,false则缓存输入重复2
行为确认,true进4,false不执行
依据条件决定具体动画
举例首先玩家按下手柄右肩键,
程序判断按键在可响应的窗口(常态或者jumptable.R1),

响应打算执行BEH_A_GROUND_ATTACK(地面攻击)行为

根据角色的姿态、是否打过义手攻击、当前身上的Speffct(特殊效果,buff)等决定播放不同的攻击动画


上图为只狼普通释放攻击1*,在jumptable.R1窗口的前部分重叠着特殊效果100357

100357特殊效果的Behavior参照Id属性215,就是连招的一个判断条件


攻击行为执行时判断有SP_EF_REF_TAE_TRANSITION_GROUND_ATTACK_COMBO_2时就播放W_GroundAttackCombo2动画,字符串到动画id的索引没查到,但可以根据游玩确定,该动画就是a050_300001(蓄力突刺左)
100357之后没有重叠的部分按照行为判断也可以确定是a050_300000(蓄力突刺右)作为错过连招窗口时后摇期间输入攻击的派生
*只狼的普通攻击分蓄力攻击和释放攻击,按下按键后先播放蓄力攻击动画,在前摇的松开窗口内松开攻击键会变成释放攻击动画,未松开或窗口后松开就完整播放蓄力攻击动画