ue5 动画通知

核心:
1.动画运行到第29帧,调用动画通知事件。

2.动画通知事件在动画蓝图中调用

3.动画蓝图调用第三人称蓝图把武器附加在背部

在这里插入图片描述
找到手放在背上,合适的帧
在通知,轨道1,这边右击新建通知
在这里插入图片描述
取名
在这里插入图片描述
在这里插入图片描述

打开动画蓝图 ABP_Manny
就可以看到动画通知
在这里插入图片描述

第三人称角色蓝图 自定义事件,把武器附加到背部
在这里插入图片描述

动画到这一帧的时候,会调用动画通知事件

然后这个事件调用,第三人称角色蓝图把武器附加到背部
在这里插入图片描述

运行一下可用了
在这里插入图片描述

### 使用 Animation Notify 触发播放动画 在 Unreal Engine 中,`Animation Notify` 提供了一种机制,允许在动画序列的特定时间点触发事件。这可以用来执行各种操作,比如播放声音、生成粒子效果或调用蓝图节点。 #### 创建带有通知动画资产 为了创建一个带通知动画,需先准备一段动画序列。打开该动画资源后,在时间轴上的合适位置右键点击并选择 `Add Notify Track` 来添加一条新的通知轨道[^1]。 ```cpp // 添加自定义的通知类型 (C++) FName NotifyName(TEXT("MyCustomNotify")); UAnimSequence* AnimSeq = ...; // 获取当前编辑器选中的动画序列实例 FAnimNotifyTrack& NewTrack = AnimSeq->ModifyCurveData().GetNotifies().AddDefaulted_GetRef(); NewTrack.TrackName = TEXT("My Custom Notifies"); ``` 对于想要插入的具体时刻,可以通过拖拽的方式放置对应的 `Notify Node` 到所需帧处,并设置其属性面板里的参数,如关联的声音文件或其他行为配置[^2]。 #### 设置响应逻辑 当涉及到实际处理这些被触发的动作时,则取决于项目需求: - **蓝图**:如果是在角色蓝图里应用此功能,可以直接双击相应的 notify 节点进入可视化脚本环境编写回调函数;也可以利用 `Event Graph` 下拉列表找到由所添加的通知名称命名的相关事件入口。 - **C++** :对于更复杂的情况或是追求性能优化的情况下,推荐采用继承于 `ACharacter` 或者 `USkeletalMeshComponent::FAnimInstanceProxy` 的方式重载虚方法 `_HandleAnimNotify()` 实现高效的多线程支持[^3]. 下面给出一个简单的例子展示如何基于 C++ 处理来自 Skeletal Mesh Component 发出的通知信号: ```cpp void AMyCharacter::HandleAnimNotify(FString NotifyName) { Super::HandleAnimNotify(NotifyName); if (NotifyName.Equals("PlaySound")) { UGameplayStatics::PlaySoundAtLocation(this, SoundToPlay, GetActorLocation()); } } ``` 以上就是关于怎样运用 UE4 内置工具——动画通知特性来控制游戏中动态元素变化的大致流程介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值