内容:新增跳跃动画
我们把ybot文件中extra的jump拖到我们的blendtree当中
在Parameter中增加一个新trigger,并改名为jump
我们把Ground和jump连起来并把Ground—>jump的exit time消钩
Has Exit Time:这个意思是A在什么时候过渡到B,即A在这个时刻发生过渡的动作,你可以把它理解为一个特殊的过渡条件,类似time=exit time一样,如果有设置过渡条件,那么就是同时满足这两个条件时才发生过渡,也就是如果在exit time之前已经满足了你的条件,那么在exit time这个时刻发生过渡;否则,只能等到动画重新播放一遍,再次到达exit time的时候,才会发生过渡。如果你希望满足你的条件时候立马发生过渡,那么最好不要勾选这个选项。
我们希望按下跳跃的瞬间起跳,所以我们把它消钩。再加个jump的条件
按下trigger,我们的尼娅就跳起来了!
我们把按下keyB可以跳跃的功能加进去
可惜我们跳跃没有高度,而且跳跃键按两次会自动跳两次
我们接着修复这个bug,我们在blend tree的Ground里面加一个behavior
我们在behavior中设定两个数组,这两个数组挂载这信号的名字,比如jump和foward,然后在OnStateEnter和OnStateExit模块里面foreach所有的信号然后重置该信号
ok,我们接着完成跳跃高度的设置以及解决跳跃状态下可以随意移动的bug
解决移动的bug,我们的思路就是在jump中增加一个behavior宣布模型是在jump这个状态,然后在actorhandle中拦截这个信号
发出信号,信号名字就设为OnJumpEnter ;同样制作信号OnJunpExit
在playerhandle中接受信号并锁死移动
但是同时跳跃的时候会失去速度,我们继续修改
我们设置一个布尔值,只有lockplanar为false我们才更新速度,也就是说我们按下跳跃就锁死速度
呼,大功告成。我们最后再加上跳跃冲量
我们在进入跳跃状态时给刚体y轴一个冲量,使她跳起,跳跃部分就完美结束了。