Unity动画桢事件

1,使用原因

  在新项目内部审核的时候,说什么动画节奏不匹配,所以决定用动画桢事件来处理技能释放。当释放技能的时候,先播放技能动画,然后再动画桢所在的时间戳执行技能的逻辑。

2,具体实现

1,先选中人物的状态机,打开animation。

Unity动画桢事件_第1张图片

*这里有个需要注意的点,因为有的anim在fbx文件下面,只能readonly,这个需要我们把动画拷贝出来作为单独的文件存在。

2,在人物身上添加如下代码,并将脚本绑定在anim所在的物体上:

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相应的位置添加触发动画

Unity动画桢事件_第2张图片

3,测试用例

Unity动画桢事件_第3张图片

Unity动画桢事件_第4张图片

你可能感兴趣的:(U3D,动画模型,unity,游戏引擎)