UE4动画序列帧通知机制(二)

第一篇文章已经介绍了UE4中基本的动画通知方式,包括粒子挂载播放,音频挂载播放,和自定义事件通知,其实基本可以满足我们80%的开发需求!今天介绍下另外两种动画通知方式,Animnotify state!

UE4动画序列帧通知机制
UE4动画序列帧通知机制

由于我的动画文件是直接导入的骨骼动画,目前只有timed和trail两种通知。

先说说notify state和notify的区别,我查阅了官方文档,给出的答复是state通知相比于普通通知多了三个状态,即开始状态,执行中tick状态和结束end状态,如果你对于状态需求有特殊要求可以尝试自定义notify state,在蓝图中所有类里搜索animnotify,如下图

UE4动画序列帧通知机制

本文不描述重写蓝图后的通知,请尝试下,生成蓝图直接覆盖函数,你就全懂了^_^

1.Timed Particle Effect(定时粒子特效)

UE4动画序列帧通知机制
UE4动画序列帧通知机制

需要注意的是,定时粒子特效必须要指定socket name(硬翻译下骨骼节点名称),否则看不到粒子效果!着重讲一下Destroy Immediately,立即销毁,如果勾选此选项,则粒子播放的生命周期要受限于你在动画帧上拖拽的事件长度,如果你的通知时间只有1秒,特效事件3秒,那么你只能看到前一秒的特效,默认是不勾选的!粒子模版选择粒子后,运行即可看到效果!效果和add playe particle有一些像,关键是多了3个事件,起始,运行,结束!

2.Trail (拖尾事件通知)

我个人觉得UE把这个功能放到通知里的深意是希望开发者自己去重写AnimNotify_State,更方便控制拖尾的事件和效果,在复杂游戏中,拖尾可以让你实现更加酷炫的效果!例如刀影,人物快速移动拖尾(稍后我会出个刀光剑影的教程)

UE4动画序列帧通知机制
UE4动画序列帧通知机制

Trail的控制更加灵活,他是介于AB两个骨骼节点Socket Name采样(图中的First Socket Name和Second Socket Name),随后在两点间做计算填补,沿着轨迹生成效果。看下我做的比较low的效果

UE4动画序列帧通知机制
UE4动画序列帧通知机制

如果要出现效果必须要满足两个条件

a.创建一个粒子效果,必须使用AnimTrail Data 类型数据

b.在动画帧上添加trail state通知

UE4动画序列帧通知机制
UE4动画序列帧通知机制

然后在你的Trail添加你创建的粒子系统,设定好骨骼节点,运行即可看到效果了!

这次教程结束,更深入的使用我会出一篇详细教程!

UE版本 V4.16.3

 

添加评论

您的电子邮箱地址不会被公开。