一般美术和程序分工明确的项目 fbx确实是和动画一一对应的;
但一些独立,或者小工作室的项目,就没法保证了,关键还是在于 Unity的 .meta
目录
查找和对比了一下 .fbx 和 .meta:
缓存和不缓存Animation
具体的Animation数据Data 和应用
参考-Animation in Unity:
查找和对比了一下 .fbx 和 .meta:
由于上图对比图,可看出,共10个Recycle,甚至更多,应该都是循环Animation或者Timeline都属于Unity内部的fileID Gen
缓存和不缓存Animation
但只有几个有显示,(那么,这几个显示和不显示又是如何通过.meta区分的呢)
有显示 | 内部Recycle |
Shake5 | |
idle | idle |
shake | |
idle0 | |
idle1 | |
shake1 | shake1 |
shake2 | shake2 |
shake3_loop | shake3_loop |
shake4 | |
shake6 |
我们打开.Fbx 的Inspector面板,就能“感觉”到被隐藏的animation(Recycle)在哪里了
明显的,不显示的就是删除掉了的,但其实是有缓存的,应该是可以找回来历史 meta的
有缓存这部分,具体就不多展开分析了,但是这也是很多国内引擎做不到的,没事就增删查改,但其实有缓存和没缓存是两个档次,很多IDE,就是好用就好用在这里,能够自动关联,和找回,而切面又是简标题一单明了的(虽然看起来已经够乱了,但人家还是藏着掖着一大部分功能),
(当然也可能只是没删除干净而已)
具体的Animation数据Data 和应用
我们继续看下面,像这种 -serializeVersion:16 就确实只有4组数据,和4个显示的Animation一一对应; 那么,我们怎么能关联Animation 和GameObject呢(本身是弱关联,甚至无关联)
Unity Editor Animation 界面如下:
又从上图,我们得知,只是基础的Animation,(Transform, Rot, Scale)等
所以,
- 只要创建一个空的GameObject
- 添加Animation Component
- 把Animation 挂在 Aiimation Component 的Animations 即可(如下,size==2)
参考-Animation in Unity:
Unity中实现动画数据导出导入_导出动画每帧位置信息-CSDN博客