黑魂 205建立被击打动画

在sword and shield 动画包里找到impact2,先选中PlayerHandle的ybot,然后点开Animator的Base Layer。

把impact2的动画拖进去,在Any State 拖出箭头指向impact动画,动画改名为hit ,然后在Parameters里添加一个hit的Trigger。

在箭头里添加动画条件hit。

然后我在PlayerHandle里添加一个新的脚本TesterHit来测试被击打动画。

public class TesterHit : MonoBehaviour
{
  private Animator anim;
  // Start is called before the first frame update
  void Start()
    {
      anim = GetComponentInChildren<Animator>();
    }

  // Update is called once per frame
  void Update()
  {
    if (Input.GetKeyDown(KeyCode.C))
    {
      anim.SetTrigger("hit");
    }
  }
}

这里是获取到模型上的Animator写的anim PlayerHandle属于父级,要取到子级的状态机。

写完之后,运行的时候按下C键就会有被击打的动画。

接下来要解决当运行被击打动画时移动的问题。

在状态机选中hit动画,添加之前写好的FSM信号接入脚本。

创建一个OnHitEnter

然后在ActorController脚本里最下面新建对应的函数

public void OnHitEnter()
{
pi.inputEnabled = false;
}

这样就基本完成被击打动画的执行顺序。

posted @ 2023-07-20 10:04  dontpanic1703  阅读(16)  评论(0)    收藏  举报