Unity导入fbx人形动作动画时的设置

1.不选压缩,会有一个比较大的动画文件,占用较多内存,影响运行速度,unity不建议。但是动画比较精确。

Unity导入fbx人形动作动画时的设置

2.选压缩,原始73帧的小腿骨骼的旋转动画数据比较

Unity导入fbx人形动作动画时的设置

egacy 足部踩地基本没有滑动

Unity导入fbx人形动作动画时的设置

generic 稍微有滑动,不压缩基本没滑动。

Unity导入fbx人形动作动画时的设置

huamanoid比较诡异,节点全改换成了avatar里的肌肉系统,下面是跟此骨骼相关的四个节点图,已经看不出跟原先的动画曲线有什么联系了,运行重定向的足部动作滑动比较大。

Unity导入fbx人形动作动画时的设置

Unity导入fbx人形动作动画时的设置

Unity导入fbx人形动作动画时的设置

Unity导入fbx人形动作动画时的设置

对此官方工程的经验是,跑步,行走一类动作单做一个FBX文件导入,不启用动画压缩
其它动作可以随意组合到一起,或者分开,启用动画压缩

Unity导入fbx人形动作动画时的设置

73帧压缩为6帧是比较符合实际的,大多动画都是k的关键帧,不是逐帧,官方建议压缩。另外数据产生差异跟是什么动作关系不大,为了好观察,我采用的是idle动作,原始的是双足踩地无位移。

 

结论:
1.fbx记录的是逐帧动画数据,这样fbx数据量比较大(把插帧也记录下来了),所以压缩基本是必须,也是官方建议的。
2.如果不需要重定向动画,那就应该选legacy或generic ,但是legacy最好(只能)配animation,generic则能很好的配合animator以及playable graph。
3.在rig里选generic定好根节点root node或选humanoid 后,会在animation里多出root motion 等选项,这些选项的设置不影响动画的精确度。
表浅观测,若有错误请指出,期待更多的研究。
原始=legacy(不压缩)>legacy(压缩)>generic(不压缩)>generic(压缩)>humanoid(不
压缩)>humanoid(压缩)

Unity导入fbx人形动作动画时的设置

legacy(压缩)

Unity导入fbx人形动作动画时的设置

generic(无压缩)

Unity导入fbx人形动作动画时的设置

generic(压缩)

Unity导入fbx人形动作动画时的设置

humanoid(无压缩)

Unity导入fbx人形动作动画时的设置

humanoid(压缩

Unity导入fbx人形动作动画时的设置