Timeline和Playable导致Unity崩溃问题记录

Timeline和Playable导致Unity崩溃问题记录

使用Timeline和Playable出现了Unity崩溃的问题
使用Playable制作的自定义动画播放组件,以取代unity的controller(但是还是需要animator,因为使用的是AnimationClipPlayable,这个还是需要用Animator去播放动画的,主要的好处是我们可以更自由的定制动画的相关功能,不再需要创建AinamtorController的素材,但由于依然使用了Animator驱动,因此性能上并不会有多少优化,甚至写的不好还可能出现性能问题)
然后我们在Timeline的轨道中去调用了这个组件的播放(是直接拿AnimationClip传进去播放)结果导致了Unity崩溃
Timeline和Playable导致Unity崩溃问题记录_第1张图片
根据Unity官方人员的回答,我们不能在Timeline轨道中的ProcessFrame中进行Playable的连接或者断开连接操作(Connect/Disconnect),需要在PrepareFrame中操作(这应该属于Unity的Bug,Unity的人也这么说),但是即使我移到PrepareFrame中操作也是同样的崩溃。

Timeline和Playable导致Unity崩溃问题记录_第2张图片
Timeline和Playable导致Unity崩溃问题记录_第3张图片
后来,我们在收到外部的播放申请后,没有立马去播放,而是留到LateUpdate中去播放,这样子才不会崩溃了,算是一种权宜之计吧。
如果有遇到类似崩溃的情况,也可以尝试下,不要马上去调用播放,看看能不能解决,或者在新版本中可能不会有这个问题。遇到这种属于bug的问题,有时候就比较难搞,因为我们自己摸不着头脑,只能靠搜索和官方人员回答,所以有时候不懂原理,有些问题就很难解决,所以只是想用一个东西,有时候还是不够的,因为一旦碰到问题,我们就束手无策,但是如果我们知道底层原理,或许我们就能轻松的解决。

unity版本

2018.4

参考

https://forum.unity.com/threads/crash-in-timeline-with-custom-track-for-animation.983511/

你可能感兴趣的:(Unity3D,unity,Timeline,Playable)