问题:会出现突然向后移动(一抽一抽的)
⭐利用FSMOnUpdate 时时刻刻更新在jab state底下的移动量
在jab动画下面新增一个脚本FSMOnUpdate:
public class FSMOnUpdate : StateMachineBehaviour {
public string[] onUpdateMessage;
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
//override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
//
//}
// OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
foreach (var msg in onUpdateMessage)
{
animator.SendMessageUpwards(msg);
}
}
给OnUpdateMessage一个发送值:OnJabUpdate,然后在actorcontroller里面增加代码:
public void OnJabEnter()//向后跳
{
pi.inputEnabled = false; //跳起来之后不能移动
lockPlanar = true;
}
public void OnJabUpdate()
{
thrustVec = model.transform.forward * -jabVelocity;//将冲量以每秒60次刷新
}
解决动画不自然问题:在动画面板增加forward,在动画编辑面板补一个curves要起一样的名字!!将曲线给一个点并拉出曲线(-3),在进edit面板修改烘焙(rotation给original,再把y方向烘焙为feet)。
修复向上坡跑突然转头会出现滑翔动作:
增大sensor检测值。