unity实现mmd功能(跳舞)

Unity支持从两种不同类型的文件导入网格和动画:

  • 导出的3D文件格式,如.fbx或.obj。
  • 专有的3D或DCC(数字内容创作)应用程序文件,例如来自AutocdeskoB3ds Maxk@或Blender的.max和.blend文件格式。只能在创建专有文件的软件中编辑这些文件。专有文件通常无法在未经转换和导入的情况下直接由其他软件编辑。

导出的3D格式
Unity可读取.fbx、.dae(Collada)、.3ds、.dxf和.obj文件。

将pmx模型转化为fbx模型

需要工具:

  1. 用于Blender中处理模型的插件(Cats Blender Plugin),适合用于处理pmx、vrm模型。(https://github.com/absolute-quantum/cats-blender-plugin)
  2. 用于Unity,将fbx模型打包成vrm模型的的脚本(UniVRM)。(https://github.com/vrm-c/UniVRM/releases/tag/v0.68.2)

Cats插件,自身内置支持mmd(.pmx,.pmd)、fbx(.fbx)格式的模型导入。
XnaLara(.xps)、Source(.md)、VRM(.vrm)需要额外下载对应插件。

在blender中安装Cats插件并在右侧工具栏中利用它导入.pmx模型

默认显示是白色模型,可在右侧工具栏中在Misc(杂项)中添加mmd_tools赋予的着色渲染(GLSL、Shadeless)。

(如果着色不正常,例含带粉色,可以把MMD Display中的Toon Texture取消勾选)

点击Cats里的Fix model(mmd模型默认设置,非mmd模型在属性设置中取消勾选“Fix MMD Twist Bones”),它会自动化处理你的模型,并对模型本身的mesh和骨骼进行改变。

  1. 会将你的模型骨骼,重命名为适配Unity骨骼映射的英文名,并删除多余无用0权重骨骼。
  2. 会改变你的mesh网格,将使用同一张贴图的部分合并在一起,然后再将所有mesh网格合并重命名为Body。(这个功能对小白来说并没有什么影响,但对熟悉模型的人来说可能是个缺点。解决方法:Fix Model前,在属性设置中取消勾选“Combine Same Materials”)

(在自动化处理时,处理速度取决于模型的复杂程度,比如,模型的骨骼数量,面数,形态键(blendshape)等)

处理结束后, 检查骨骼的权重是否正常。
(不检查也行,一般Fix model前正常,Fix model后也不会有什么问题)

点击Start Pose Mode,开启姿态模式,然后检查骨骼权重,依次是四肢、上半身、腰部、手指。

当你发现模型没啥问题以后,点击Export Model,直接导出就好了。

将fbx模型导入,在对应的Inspector面板上的四个勾选打勾并Apply应用一下

在接下来弹出的界面中将vmd动画拖入到对应的Object栏中并点击生成相应动画的模型

vmd动画的制作

  • 利用小K网(https://xk.yunboai.com/)

(仅转到vmd只需bip)

  • 手K帧
    自己手K帧的精度更高更自然,也可以采取动捕+手修,不过动捕出来的满屏关键帧还不如直接重做orz。

新建一个动画状态机控制播放动画,将一整段动画拖入即可,然后将动画机赋值给生成出来的模型作为预制

场景中添加音乐作为舞蹈音乐

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>