本文主要是介绍unity3d 导入动画一帧切问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
有时候maya里面看起来正常的动画导入到unity3d里看其就有些问题
比如有些地方用一帧切过去,u3d里看起来里面就好像还有很多帧
看起来更平滑,就好象u3d自己插值了
其实unity并没有插值,而是maya导出fbx的时候动画上没有把帧改成step tangents模式
红色的轴中间就是step tangents,是改过以后,这个导入到u3d里就是正常的一帧切
而绿色的就是默认的,但是因为maya里预览默认是一帧帧预览的,所以看不出中间的插值
但是unity是一般是超过动画k的帧率运行的,所以就能看到中间的插值帧了(interpolation)
这些可以在u3d的ctrl+6调出的animation curve模式下看出
以前是这样的,可以看到平滑过maya里自动插值的帧
调整后是如下显示,每帧都单独烘焙(就是maya里面框选所有帧 调整到step tangents)
就是正常的
当然legacy和generic模式一样,重点还是maya里导出前作的处理
另外注意fbx导入unity后帧就不能调整了
如果是unity里面k的帧,可以选中帧右击选constant来取消平滑插值如下图
还能选flat保证在帧起始位置上是平的
如果再有问题,比如导出软件设置之类还能产生插值问题,可以试试改成generic模式
把resample curves去掉看看,因为unity默认是重新采样的(注意legacy没有这个功能)
具体可以看官方人员解释
https://forum.unity3d.com/threads/unity-animation-interpolation.454048/当然还有的时候导入到u3d里面的帧还是有异常,一般大量帧的时候或者旋转有跳跃,u3d还是会一如既往的插帧,这个貌似还没法解决,除非一段段动画单独导入,但这个工作量大,还有就是貌似可以烘焙到顶点上,这样好像就没有插帧了
但是一般这些都看不出来,除非是用到摄像机上的动画,在unity里面k也是一个方法,可以避免掉插值帧,如果是输出的输出后手动删帧吧
这篇关于unity3d 导入动画一帧切问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!