1.添加fall动画吧,首先依然是animator里面添加动画,然后make trasition

这里需要更改jump到fall的动作判断顺序,我们需要首先看看能不能进入fall的状态,再进入ground的动作

注意jump到ground动作的exit time要大于等于jump到fall的exit time,否则fall的动画不会播放
2.优化你的下落动画吧
首先就是检测和地面有无相撞,这里需要注意到如果今后想要增删,移动文件,请务必在unity里面拖拽,删除.meta文件很麻烦而且有概率找不到
然后通过physics的overlapcapsule方法检测是否和物体发生碰撞吧,发生碰撞的物体会被移交到一个列表并返回
3.增加了碰撞检测,并且把解锁控制放到了在地面上进行判断
` public void OnJumpEnter(){
plannerLock=true;
ThrustVec=new Vector3(0,jumpvelocity,0);
pi.InputEnabled=false;
}
public void IsGrounded(){
anim.SetBool("isGround",true);
}
public void IsNotGrounded(){
anim.SetBool("isGround",false);
}
public void OnGroundEnter(){
plannerLock=false;
pi.InputEnabled=true;
}`
4.这个开发过程耦合度太高了,如果跳跃高度太高,会出现可以反复跳跃,无法直接从jump状态到ground状态的毛病,这些东西需要之后修改
5.增加自由落体的transition吧
实际上只需要加一个onfallenter,这个时候锁死输入和向量就行了
你需要学会在想要的动画下面加上想要的状态比如进入的时候发送message,这是一个可复用的过程

6.解决trasition中因为转动画的时候的先后问题吧
如果一个动画在判断需要执行另一个动画的时候,已经开始加载了,这个时候就会很奇怪吧,把不想要他播放的那条trasition打上current state吧

