UE4虚幻引擎动画序列帧中注册事件广播(一)

UE本身提供了一套强大的动画编辑器系统,我们可以直接在UE中进行动画编辑(当然如果你愿意让美术同学来UE编辑的话)!在游戏开发中我们经常要用到关键帧事件,例如在动作类游戏中我们经常需要在角色挥砍出刀的同时带有特效和音效等基本表现。在早期的动画编辑器中并没有事件通知机制,如果光靠美术同学提供帧位置或是时间等信息,程序来调整是十分麻烦的!如果你是U3D开发者一定会知道在动画帧上添加事件!对的UE本身也是支持这种机制,并且更强于U3D!
我们知道U3D中的事件通知是需要现在动画序列帧上注册事件,事件的注册的方式非常单一,是通过反射机制,在运行中去查找对应的方法,然后调用执行。对于美术同学来说需要程序小伙伴的支持,才能顺利的添加特效和音效!而现在,在UE中完全剥离了这种设计方式,UE也是通过反射机制,在动画序列帧上注册事件,但是UE提供了更像游戏开发引擎的功能,就是无需额外编码,直接添加特效和音频播放事件,这绝对是简单到不能再简单了!

导入的的动画文件直接双击即可打开动画编辑器,最下方就是动画帧窗口,右键打开菜单。

UE4动画通知事件

对于粒子特效的添加,UE提供了完整的配置项

UE4动画通知事件
UE4动画通知事件

我们可以调整特效的偏移位置Location offset(在父节点上如无父节点就是当前pawn),rotation offset旋转,如果我们希望生成的特效脱离动画,请去掉“Attached”的勾,最有意思的是,我们能把特效的位置直接基于某一根骨骼,只需要在“Socket Name”上填入骨骼名称即可!是不是非常方便?Trigger Setting自己看下吧非常简单!

音频面板

UE4动画通知事件
UE4动画通知事件

值得注意的是UE为我们提供了Follow选项,添加的音频文件可以跟随pawn方便了太多!

如果上面的这些都不能满足你的需求,好吧我们自己添加也是可以的!

在动画帧编辑器上,右键Add Notify-New Notify,输入你的事件名称,然后保存动画文件,例如我图一里面添加了自定义的事件ChangeState,保存后,打开你的动画蓝图这里有个小窍门,在动画编辑器的窗口右上方可以可以直接切换到当前工程中引入过次动作的蓝图,如下图,可以更快速的切换到蓝图中!

UE4动画通知事件
UE4动画通知事件

在动画蓝图的任意地方右键,即可导入你刚才注册的事件,剩下的工作就是编码了!

UE4动画通知事件
UE4动画通知事件

此篇是初级的动画事件通知,后续我们介绍动画事件中剩下的几种通知方式!

UE版本 4.16.3

添加评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注