Unity3d导入动画一帧切问题

发表于2018-06-20
评论0 3.6k浏览
有时候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也是一个方法,可以避免掉插值帧,如果是输出的输出后手动删帧吧。
来自:https://blog.csdn.net/shenmifangke/article/details/77477502

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签: