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

相关推荐
Sator13 小时前
Unity使用OpenXR时,初始化失败的问题
unity·游戏引擎·vr
雨泽‎15 小时前
Unity在URP中开启后处理导致RenderTexture存在背景
unity·游戏引擎·图形渲染
冒泡P1 天前
【Unity】TextMeshPro富文本中使用精灵图集
ui·unity·c#·游戏引擎
世洋Blog1 天前
开发思想-(数据驱动+组合模式)VS 继承
unity·组合模式·数据驱动
B0URNE1 天前
【Unity基础详解】(9)Unity核心:UI系统
ui·unity·游戏引擎
jtymyxmz1 天前
《Unity Shader》7.3 渐变纹理
unity·游戏引擎
ThreePointsHeat2 天前
Unity 关于打包WebGL + jslib录制RenderTexture画面
unity·c#·webgl
胡童嘉2 天前
长沙烈焰鸟网络科技有限公司实习day13日记
功能测试·学习·职场和发展·游戏引擎·cocos2d
y***54882 天前
C++在游戏引擎中的开发
开发语言·c++·游戏引擎
BuHuaX2 天前
Unity_AssetBundle相关
unity·c#·游戏引擎·游戏策划