ue4 时间轴是什么意思_UE4动画系统:什么是动画通知(Anim Notify)

bf3552a605d9703deb635e37e4c9b30d.png

什么是动画通知(Anim Notify)?

动画通知就是UE4的动画回调事件,它会被绑定(注册)到动画时间轴的时间点上(可以精确到毫秒),当动画播放到该点就会触发事件并执行我们想要的操作。简而言之,动画通知是一种动画调用游戏逻辑的机制。

常见的使用情景比如:在奔跑动画中,我们想让角色脚部和地面接触的时刻播放音效。

如果没有动画通知,我们必须人工计算出这些时间位置,然后在那个时间通执行相应程序。这样很难做到精确,而且效率极低,最头疼的是一旦动画的长短节奏有了变化,一切又要重新计算。

动画通知的使用方法

1. 直接在动画编辑器中添加动画通知

在UE4的动画编辑器中的时间轴上,可以找到一个名为Notifies的区域,Notifies的下面是用来管理动画通知的轨道Track

f91d47863eb279b36185c99a0c619d50.png

添加动画通知,必须把鼠标放到Notifies的范围内,然后在相应的时间点右键调出添加菜单,输入动画通知的名字(本例中命名为:PlayStepSound)就可以了

c80121afd27ed687b2f8b1e12de2d7ed.png

动画通知的位置是可以调节的

3c108bd3c8255620d35e2437ac7ad7c4.png

接下来,我们就可以在使用了跑步动画的动画蓝图中调用PlayStepSound事件了

75f3d7565464e613f602bae8aa5f7a6d.png

实际上,UE4已经为我们预设了很多种动画通知以满足播放音效,粒子特效这样的常见需求

9c0b811d94e4a23428fcdd834da81927.png

比如我们添加一个预设的PlaySound,可以直接在它的细节面板指定音效文件,连编程都省了。

431a9533ff729f62f8937aef7f243865.png

有朋友可能奇怪,类似PlaySound这样的“预设动画通知”是如何定义的,下面的部分咱们就来介绍一下。

2. 创建可复用的动画通知类(Anim Notify Class)

这些“预设动画通知”叫动画通知类(Anim Notify Class),是UE4提供的一种可复用的动画通知机制

自定义一个动画通知类

1ab593b387a0838113c4ae9cce90259b.png

动画通知类没有事件图

bf9a1d3a190d7d764993005839c483bf.png

两个需要override的方法是动画通知类的关键

32bc421b54b9f98ea4cabbc8e1437868.png

Received_Notify是当该事件触发时执行的逻辑

  • Mesh Comp:网格组件对象
  • Animation:动画实例对象

c89f1bc6e9d3f63c343dbd75c5aff32a.png

GetNotifyName定义了这个动画通知在时间轴上显示的名称

0dad78cdb5875e2ba7327afe90ff2452.png

在动画编辑器中添加我们自定义的可复用动画通知

14902e2bf9880ff8be10094f077e5437.png

补充

动画通知在动画编辑器的细节面板上还有一些参数,大家可以了解一下,需要时使用。

359deb14ac1a09c97c83f57bb39bc43c.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值