[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 文件体积大了好几十倍

导出步骤:

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

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

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

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

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

  1. 得到新的 Anim 文件

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

  1. 回到 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

评论