记录UE4 Play Montage 中的一些坑

先说说发现这个坑的由来,本人最近在做一款ACT战斗框架,需要用到人物的状态模式,在动画合适的时候插入动画通知依次来改变人物的状态。播放动画采用的是Montage Play这个节点。于是在某次测试中发现人物当前并没有到达重置状态(需要动作播放完成才会重置)的时候就重置了。最后查找了近半天的时间,最后把问题锁定在Montage Play 这个节点上!
就是这货!!!
在这里插入图片描述
会发现他有一个Stop All Montages的属性,默认是勾上的。从字面意思看是停止播放的蒙太奇以外的蒙太奇。难道紧紧是这样么?
这里我再来理一下,播放蒙太奇其实有三个以上的节点分别是:
Play Montage 该节点只能在事件中调用,因为是有时间的概念,所以不能用在任何无时间观念的地方上,例如函数,宏。
在这里插入图片描述
Play Montage 以及 Play Anim Montage,可以发现两者最主要的差异就是这个Stop All Montages
在这里插入图片描述
我们言归正传,Stop All Montages 紧紧是是取消播放蒙太奇这么简单么?当时我锁定该节点后,便进行了测试,取消了Stop All Montages的勾选,不出所料,问题解决了。因为我的重置状态是在动画蒙太奇用通知设定的。于是猜想Stop All Montages 不紧紧停止了播放蒙太奇,还把蒙太奇中附带的所有通知一并调用了End事件!
接下来便开始实验:
创建一个用于测试的NotifyState
在通知中覆盖Begin和End事件:
在这里插入图片描述在这里插入图片描述
这两个函数的作用就是,通知开始时打印NotifyBegin ,通知结束时打印NotifyEnd

随后在播放的蒙太奇中绑定该通知。
在这里插入图片描述
随后在事件图表中,用以下蓝图进行Dubbger。
在这里插入图片描述
首先取消Stop All Montages进行实验
在这里插入图片描述
可以开出播放的时间时正确的。Notify有被正确打印。

接下来勾选Stop All Montages
在这里插入图片描述
结果就是Stop All Montages 取消播放蒙太奇的同时,会取消被取消蒙太奇中所有的通知!

建议大家以后播放蒙太奇还是多用用Play Anim Montage这个节点,解决这个Bug花费了我太多的精力,并且官方也没有很好的文档。
以下是官方文档对该节点的解释。。。。

看得我想好好问问他们的编写文档的人,这也能叫文档啊????在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值