Unity的动画一直是个坑,早期版本的动画事件有触发bug,最后发现貌似和帧不同有关。
但是动画切帧一直都有问题
(模型仅测试)
未修复版:
已修复版:
原因是不管你的动画是否烘培,是否压缩。最后在Unity播放时两帧高速切换总会有插值。大致分析是游戏运行时帧数肯定是上下浮动的,有时跑不到满帧,Unity会进行插值,导致该问题。
解决方法有很多,比如换成多个相机。
我考虑到工作流的复杂性,没有用多相机的做法。
首先比较相机速度,当大于某个值判定为镜头切换。这时候会有一个问题,当已经检测到相机速度大幅度位移的时候,事实上显示画面已经出现了“插值”。
所以还需要做一个相机dummy点,dummy点同样有动画,但是比相机动画的播放速度快0.1秒左右。
当检测到“插值”后,对动画时间进行偏移,对了,这样需要手动控制动画时间。
时间: 2024-10-15 07:03:18