[MMD2Unity]动作vmd导出fbx文件(Humaioid类型)
莫愁啊莫愁丶
编辑于 2022年06月06日 22:59

所需插件:

MMD4Machine :http://stereoarts.jp/

FBX Exporter : Package Manager

Unity Recorder : Package Manager

先上效果图:

Humaioid下,使用相同anim跳起的极乐净土,左边是MMD4Machine导出的模型,右边是Blender原模型(未添加动态骨骼所以很僵硬)

原理:

使用官方的Unity Recorder插件录制成Humaioid类型的动画文件,原vmd动作由MMD4Machine负责导出

准备工作:

插件MMD4Machine能够导出带动作的FBX模型文件

首先设置下FBX的Import Setting,找到Rig项中的Animation Type设置为Humaioid并设置Import Animation

设置完成后,选择FBX里面的所有anim格式的文件

用Ctrl+D导出动作文件

这时可以查看一下导出的Anim文件大小,比原VMD文件体积大了好几十倍

导出步骤:

1.将Fbx模型拖拽到Hiercrchy面板去(使用一个标准的Humaioid人物模型并拖拽到场景去)

移除掉无关的脚本,如果开启了动态骨骼录制的时候会把物理动画也录制了(一般不通用没必要开)

创建一个Timeline,将刚才导出的anim放入到timeline中去

2.设置模型的Animaotr组件中Culling Mode为Always Animate,避免超出摄像机动作被裁剪

3.使用Unity Recorder录制,录制时场景变成运行态自动播放Timeline,播放完毕手动STOP停止录制(也可修改Recording Mode设置录制时间)

4.得到新的Anim文件

把新的anim导入到模型的Animator中,这里直接替换掉controller里的motion

5.回到Hiercrchy面板,对使用了新anim的模型GameObject

右键-导出FBX ,Only Animation,完成,将导出的FBX设置下Animation Type为Humaioid

结论:

当然也可也使用其他模型录制动作,可以去掉一些没用的动作(这里用了个白模录制)

导出的Humanoid极乐净土动作,可以直接给所有人型模型使用

事实上经过测试并不是所有模型都能正常使用,我这里是直接使用blender格式的模型,经过数次使用感觉还是没什么问题

使用方法:

模型和动作的Animation Type都需要设置为Humaioid,另外模型的Avatar选择Create From This Model就行了

其他问题:

为什么要格外录制一个Anim不直接使用原Anim进行导出

经过测试,如果使用原Anim导出FBX会出现动作错乱,根本无法使用

不过感兴趣的话也可以研究下为什么不能使用,应该可以省很多步骤

相关资源:

链接:https://pan.baidu.com/s/1EZVB8ZXHuNLcB-oMj9oiTA  密码:ptew

插件下载:https://github.com/cnscj/MMD2UnityTool

使用方式:右键带动作FBX数据->MMD2UnityTool->Export Fbx(With Anim) To Humanoid Fbx


参考文献:

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

https://blog.csdn.net/f_957995490/article/details/115549986