UE动画状态机的事件触发顺序测试
【摘要】 正常A状态过渡到B状态的事件顺序:整个流程为:调用B状态的On Become Relevant事件调用B状态的On Update事件调用A状态的Left State Event事件调用B状态的Entered State Event事件调用B状态的Start Transition Event事件调用B状态的End Transition Event事件注意:同一帧内,即使B状态的Entered ...
正常A状态过渡到B状态的事件顺序:
整个流程为:
调用B状态的On Become Relevant事件
调用B状态的On Update事件
调用A状态的Left State Event事件
调用B状态的Entered State Event事件
调用B状态的Start Transition Event事件
调用B状态的End Transition Event事件
注意:
同一帧内,即使B状态的Entered State Event里修改了变量,但过渡仍然认的是修改前的。
需要加一个Current State Time > 0.01这样的判断,让过渡在非第一帧生效。
End Transition Event有时候会不触发,可能是A过渡尚未完成但B过渡已经完成了状态跳转。
如果切到B状态又立刻返回A状态的事件顺序
比如加一个变量默认为True,到了B状态秒切回A状态:
执行后的结果可以看出,LeftState、Enter State、Start Transition Event这三个事件是仍然会正常调用的,而OnRelevant和OnUpdate在快速状态切换时调用并不稳定,有时触发有时不触发。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)