Unity动画桢事件

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,测试用例

相关推荐
老朱佩琪!2 小时前
Unity桥接模式
unity·设计模式·c#·桥接模式
技术小甜甜2 小时前
[Godot][入门] 安装与版本选择:3.x 还是 4.x?(按项目类型一键决策)
游戏引擎·godot·游戏开发·2d
陈言必行2 小时前
Unity 之 物理引擎中三种刚体力施加方式详解
unity·游戏引擎
foreveryao1233 小时前
Unity渲染流程(底层逻辑)
unity·游戏引擎·图形渲染
small-pudding3 小时前
Unity中的PBR(基于物理的渲染)
unity·游戏引擎
CreasyChan4 小时前
3D游戏数学基础指南
游戏·3d·unity·数学基础
平行云21 小时前
Enscape × Paraverse | 从设计到一键发布、网页分享、实时交互的全新体验
unity·ue5·xr·3dsmax·webgl·实时云渲染·云桌面
老朱佩琪!1 天前
Unity迭代器模式
unity·设计模式·迭代器模式
程序猿多布1 天前
Unity 多语言系统实现
unity·多语言
CreasyChan1 天前
Unity中C#状态模式详解
unity·c#·状态模式