unity3d 导入动画一帧切问题

有时候maya里面看起来正常的动画导入到unity3d里看其就有些问题

比如有些地方用一帧切过去,u3d里看起来里面就好像还有很多帧

看起来更平滑,就好象u3d自己插值了

其实unity并没有插值,而是maya导出fbx的时候动画上没有把帧改成step tangents模式

unity3d 导入动画一帧切问题_第1张图片

红色的轴中间就是step tangents,是改过以后,这个导入到u3d里就是正常的一帧切

而绿色的就是默认的,但是因为maya里预览默认是一帧帧预览的,所以看不出中间的插值

但是unity是一般是超过动画k的帧率运行的,所以就能看到中间的插值帧了(interpolation)

这些可以在u3d的ctrl+6调出的animation curve模式下看出

以前是这样的,可以看到平滑过maya里自动插值的帧

unity3d 导入动画一帧切问题_第2张图片

调整后是如下显示,每帧都单独烘焙(就是maya里面框选所有帧 调整到step tangents

unity3d 导入动画一帧切问题_第3张图片

就是正常的

当然legacy和generic模式一样,重点还是maya里导出前作的处理


另外注意fbx导入unity后帧就不能调整了

如果是unity里面k的帧,可以选中帧右击选constant来取消平滑插值如下图

还能选flat保证在帧起始位置上是平的

unity3d 导入动画一帧切问题_第4张图片



如果再有问题,比如导出软件设置之类还能产生插值问题,可以试试改成generic模式

unity3d 导入动画一帧切问题_第5张图片

把resample curves去掉看看,因为unity默认是重新采样的(注意legacy没有这个功能)

具体可以看官方人员解释

https://forum.unity3d.com/threads/unity-animation-interpolation.454048/

当然还有的时候导入到u3d里面的帧还是有异常,一般大量帧的时候或者旋转有跳跃,u3d还是会一如既往的插帧,这个貌似还没法解决,除非一段段动画单独导入,但这个工作量大,还有就是貌似可以烘焙到顶点上,这样好像就没有插帧了

但是一般这些都看不出来,除非是用到摄像机上的动画,在unity里面k也是一个方法,可以避免掉插值帧,如果是输出的输出后手动删帧吧






你可能感兴趣的:(maya,游戏,互动,unity)