[MMD2Unity] 动作 vmd 导出 fbx 文件 (Humaioid 类型)
本文由 简悦 SimpRead 转码, 原文地址 www.bilibili.com
作者:我滴妈妈T33
所需插件: MMD4Machine :http://stereoarts.jp/FBX Exporter : Package ManagerUnity Recorder : Package Manager......
所需插件:
MMD4Machine :http://stereoarts.jp/
FBX Exporter : Package Manager
Unity Recorder : Package Manager
先上效果图:
GIF
在 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 文件体积大了好几十倍
导出步骤:
- 将 Fbx 模型拖拽到 Hiercrchy 面板去 (使用一个标准的 Humaioid 人物模型并拖拽到场景去)
移除掉无关的脚本, 如果开启了动态骨骼录制的时候会把物理动画也录制了 (一般不通用没必要开)
创建一个 Timeline, 将刚才导出的 anim 放入到 timeline 中去
- 设置模型的 Animaotr 组件中 Culling Mode 为 Always Animate, 避免超出摄像机动作被裁剪
- 使用 Unity Recorder 录制, 录制时场景变成运行态自动播放 Timeline, 播放完毕手动 STOP 停止录制 (也可修改 Recording Mode 设置录制时间)
- 得到新的 Anim 文件
把新的 anim 导入到模型的 Animator 中, 这里直接替换掉 controller 里的 motion
- 回到 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