1,使用原因
在新项目内部审核的时候,说什么动画节奏不匹配,所以决定用动画桢事件来处理技能释放。当释放技能的时候,先播放技能动画,然后再动画桢所在的时间戳执行技能的逻辑。
2,具体实现
1,先选中人物的状态机,打开animation。

*这里有个需要注意的点,因为有的anim在fbx文件下面,只能readonly,这个需要我们把动画拷贝出来作为单独的文件存在。
2,在人物身上添加如下代码,并将脚本绑定在anim所在的物体上:
cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
public class HumanAnim : MonoBehaviour
{
Action callback;
public void SetAttack(Action _ac)
{
callback = _ac;
}
public void OnAttack()
{
Debug.LogError("攻击方法回调");
callback?.Invoke();
}
}
3,在animation相应的位置添加触发动画

3,测试用例

