Unity 人物动画转换 - humanoid / generic 互转

Posted on Thu 22 July 2021 in 游戏开发

前言

先说说什么是humanoid,还有为什么要做转换。

首先,现在常用的人物模型,虽然人物的骨骼和命名不尽相同,但都提供了一组通用的数据来表明人形身体上某些固定的部位分别对应什么骨骼。unity可以读取这组数据来完成自动的rig绑定。

因此拥有humanoid数据的人物模型,即使所有骨骼的名字都不同,人物动作也可以共用。

其次,为什么做转换?

第一个是一些使用unity为工具链的引擎,例如laya只支持generic动画,所以要转换。

第二个是一些软件修改模型会导致humanoid数据丢失变成了generic类型,但是你又想套用一些humanoid动画上去,所以就要拿未丢失humanoid数据的模型给那些动画做一个转换。

具体操作

需要插件 Animation Converter

需要两个相同骨骼的FBX模型(可以是同一个复制两份)。

第一个FBX模型的Animation设置为Humanoid(需要从3D软件导出时带Humanoid信息)。

第二个设置为Generic。

img

打开转换器,先将这两个模型拖到最底下的Input和output,然后修改Output中的选项,并将需要转换的动作拖进Input。

img

最后点击Convert即可,转换后的动画会输出在Output Directory目录。