Walk Roll and Sprint Jump(走路翻滚+跑步跳跃)

当角色走路的时候玩家键入跳跃角色会向前翻滚,当角色跑步状态时玩家键入跳跃角色会向前跳再接翻滚:
修改速度判断的阈值达到落地就翻滚

if (rigid.velocity.magnitude >1.0f)//当速度大于1时,找到并勾选roll 
        {
            anim.SetTrigger("roll");
        }

将ground的Clean Enter 增加两个参数:jump,roll(清掉两个trigger)

再从ground拉一条转态到roll,消勾exittime,给一个jump和一个forward小于1.1时(冲量小于1.1时 按跳跃键就是翻滚)
然后修改ground的判断顺序:fall 》roll 》jump
再从jump拉一条转态到roll,消勾exittime,给一个isground true,和forward小于1.1,再修改jump的判断顺序:roll》ground》fall

最后在roll上挂一个OnRollEnter脚本:
给一个翻滚冲量:

public float rollVelocity = 1.0f;//翻滚冲量

增加播放翻滚动画:

 public void OnRollEnter() //翻滚动画
    {
        thrustVec = new Vector3(0, rollVelocity, 0);//修改thrustVec
        pi.inputEnabled = false;     //跳起来之后不能移动
        lockPlanar = true;
    }

在进行速度和位移的调试就可以达到走路翻滚跑步跳跃的效果。

猜你喜欢

转载自blog.csdn.net/weixin_44025382/article/details/85179934