【UE5】【蓝图】 LevelSequence 动画播放与暂停

最近有些工作,在研究UE5 蓝图的LevelSequence,来制作一些简单动画。做个笔记,记录一下动画更换绑定actor的操作,以及动画播放后如何暂停和继续。

一. 运行时生产LevelSequence并绑定给一个新的actor

1. 创建一个LevelSequence

这里是一个简单的位置平移LevelSequence,一共就2个关键帧,动画持续90帧,也就是3秒.其中绑定的actor可以是关卡中的任意actor, 比如我这里就直接图省事,绑定了test蓝图.

2. 添加蓝图逻辑

这里是我获取了包含Test标签的一个actor, 如果直接在这里生成一个actor,或者使用一个变量传递都是可以的. 截图中的"获取序列绑定"节点,需要选中之前创建的LevelSequence,以及当时绑定的actor. 这里我把生成的播放器加入到了一个PlayerList中, 用来在后续事件中对其进行暂停和继续播放的操作.

二. 对LeveSequence Player进行暂停与继续播放

1. 暂停

暂停操作是比较简单的, 其实只有一个节点, 蓝图逻辑如下:

2. 继续播放(误)

一开始我想, 可以直接按照暂停的逻辑描写, 于是我这样写的蓝图: 

但是这次发现了问题, 如果暂停操作是在播放结束之前, 那么继续播放也没有问题; 但是如果暂停操作是在播放结束后, 那么暂停后再对其播放, 会导致动画从头再度进行一次播放, 而这明显不是我们的初衷.

3. 继续播放(正确版)

因此, 我对其进行了一个检测, 如果动画的当前事件与动画结束时间相同,则不播放, 不相同时(也就是说暂停时播放并未完成) 调用播放节点. 这样下来目前来看可以正常使用了. 

三. 总结

UE中实在是有很多没测试根本想不到的逻辑... 但是这次遇到的问题还算很容易解决的, 办法也很多. 比如在暂停时检测播放时间, 或者在暂停时调用"正在播放中"节点来获取播放状态, 都可以判断出有没有播放结束, 然后再删除PlayerList中的相应值即可.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值