Unity使用FBX Exporter导入导出动画及FBX

Unity使用FBX Exporter导入导出动画及FBX

    • 引子
    • 导入
    • 导出
      • FBX Exporter
      • Generic通用骨骼
      • Humanoid人形骨骼
      • BlendShapes动画
    • 原文链接

引子

Unity中的动画以.anim文件的形式,这个单独的动画文件是无法和3dmax或Maya通用的,如3dmax支持的动画都是存在于FBX文件中,本文记录一下将两者完全打通的方式。
其中结合了一些其他的文章内容纪要,以供参考。

导入

以Mixamo上下载的FBX为例。
Unity使用FBX Exporter导入导出动画及FBX_第1张图片
可以看到下载到的是一个标准的模型文件和一堆不带模型只带动作&骨骼信息的文件。
直接拖到Unity里面看一下:
Unity使用FBX Exporter导入导出动画及FBX_第2张图片
选中动作,将模型文件拖到Inspector窗口预览一下:
Unity使用FBX Exporter导入导出动画及FBX_第3张图片
由于导入进来的两个FBX骨骼都是Generic通用骨骼,骨骼信息也都一样,因此动画播放正常。
Unity使用FBX Exporter导入导出动画及FBX_第4张图片
Unity使用FBX Exporter导入导出动画及FBX_第5张图片
将带动画的FBX骨骼改成人形骨骼,会多出来一个Avatar,是Unity用来映射人形骨骼和模型的。
Unity使用FBX Exporter导入导出动画及FBX_第6张图片

此时再选中动画,可以看到,动画无法播放了:
这是因为动画的人形骨骼和模型的通用骨骼不一致造成的,将模型的骨骼也改为人形骨骼,就又能正常播放了。
Unity使用FBX Exporter导入导出动画及FBX_第7张图片
所以,在使用动画前,一定要记得把动画的FBX骨骼类型改成和需要套用动画的模型骨骼类型一致!!!
接下来,选中我们需要的动画,按Ctrl+D,动画文件就被剥离出来了。
Unity使用FBX Exporter导入导出动画及FBX_第8张图片
如果要给动画分段,也可以在剥离之前先在FBX的Inspector中完成:
Unity使用FBX Exporter导入导出动画及FBX_第9张图片

导出

假如我们在Unity中调整了一下动画,要导出来给其他人,该怎么办呢?

FBX Exporter

首先需要在Unity的Package Manager中安装FBX Exporter。
Unity使用FBX Exporter导入导出动画及FBX_第10张图片
安装成功后,依次点击Edit–>Project Settings–>Fbx Export。打开如下界面:
Unity使用FBX Exporter导入导出动画及FBX_第11张图片

如有导出的目标软件的需要,例如使用Maya读取导出的FBX,可以:
在3D Application选项中,点击后面的小图标找到Maya2018安装目录下的应用程序(需要先安装Maya),点击Install Unity Intergration,自动安装与Maya互通插件,实现Maya导入导出的目录为当前Unity工程项目中。

然后,其余需要设置如下参数:

  • Export Name:导出的FBX文件名
  • Export Path:导出路径。Unity默认会导出到Assets文件夹下,如果我们不准备在Unity中使用这个新导出的FBX文件,建议将导出路径选择为非Assets文件夹内路径
  • Include:选择是只导出模型(Model)、只导出动画(Animation)还是导出模型和动画。建议选择只导出模型(“Model(s) Only”)
  • LOD level:选择是否导出LOD层级内容,如果导出的FBX模型是准备用于Maya渲染的话,建议设置为“Highest”,只导出最高细节层级的模型
  • Object(s) Position:设置导出对象的位置取值方式,建议设置为“World Absolute”
  • Export Unrendered:是否导出不可渲染的对象,建议不勾选

Generic通用骨骼

如果用的骨骼系是通用骨骼系,做法很简单。
将模型拖到Hierarchy中,新建一个Animation,并将新的动作拖进来。
p.s. 用Animator也可以,只要Animator中包含所有需要的动画即可
Unity使用FBX Exporter导入导出动画及FBX_第12张图片
右击并选择Export To FBX
Unity使用FBX Exporter导入导出动画及FBX_第13张图片
在选项窗口中选择相关信息并导出:
Unity使用FBX Exporter导入导出动画及FBX_第14张图片
可以看到新的动作已经包含在FBX文件中了,将这个文件发送给别人,别人也能看到带新动作的模型了。
Unity使用FBX Exporter导入导出动画及FBX_第15张图片

Humanoid人形骨骼

如果模型和动画的骨骼为人形骨骼,同样用上述方法,会发现如果附加Animation再导出,FBX会丢失动画。
Unity使用FBX Exporter导入导出动画及FBX_第16张图片
而如果附加Animator再导出,则动画是错误的:
Unity使用FBX Exporter导入导出动画及FBX_第17张图片
这是因为FBX Export还不支持人形骨骼,所以只能换个方案。
首先,通过Package Manager安装TimelineUnity Recorder插件。
Unity使用FBX Exporter导入导出动画及FBX_第18张图片
同样将模型拖入到Hierarchy中,打开Timeline窗口,选择新建一个timeline。
Unity使用FBX Exporter导入导出动画及FBX_第19张图片
Unity使用FBX Exporter导入导出动画及FBX_第20张图片
接下来,把所有需要的动画添加进来:
Unity使用FBX Exporter导入导出动画及FBX_第21张图片
然后打开Window>General>Recorder>Recorder Window,按下图设置。注意把Hierarchy中的物体拖动到Game Object处。
Unity使用FBX Exporter导入导出动画及FBX_第22张图片
点击Start Recording,就会自动运行并播放Timeline中的动画。等播放完毕后,点击Stop Recording,就会在设置的保存路径下看到录制好的动画了。
Unity使用FBX Exporter导入导出动画及FBX_第23张图片
可以看到,由于用Recorder录制时没有及时点击Stop,动画最后有一段时间是静止状态的。而且新导出的模型骨骼系是通用骨骼系。

BlendShapes动画

经过测试FBX Exporter插件或以骨骼为基础用FBX格式导出动画,故现阶段暂不支持BlendShapes动画的导出

原文链接

原文:https://zhuanlan.zhihu.com/p/259559712
参考:

  1. unity导出fbx_如何从Unity导出模型给Maya+Arnold渲染
  2. Unity 录制模型动画并导出至Maya编辑的方法

你可能感兴趣的:(插件,unity)