1.摘要

Unity开发避免不了3D模型的需求,个人美术能力有限,从blender撸一些小件还好,从零开始做人物模型暂时还是有点难为我了,所以只能先寻求他法,Vroid就是一个很好用的人物模型生成工具,这个软件可以一定程度降低对美术硬实力的要求,上手门槛低出模型效果却不错,但是Vroid导出的VRM文件如何很好地导入unity是个问题,中间也有不少坑,因此记录一下。


2.准备环境

  • blender 3.5(使用到的插件支持到3.5,更高的版本可能会导致异常)
  • blender插件:(以下插件均已上传Onedrive)
    • cats-blender-plugin
    • material-combiner
    • VRM_Addon_for_Blender
  • Unity (版本不做限制)
  • Unity插件:VRM-0.115.0_7e05(一个shader,用来还原Vroid中的模型渲染效果)

3.Vroid模型准备

首先,制作好合心意的Vroid模型,本博客就直接使用默认模板的那个角色了,点击右上角的导出按钮,选择Export as VRM

进入导出页面,可以调整红框中的参数到合心意的效果,然后点击右下角的导出,导出.VRM模型。


4.Blender转换

接下来是导入流程的重头戏,首先是需要给blender安装插件,然后按‘N’键打开侧边菜单,找到CATS插件栏。

选择最上面的Import Model,然后选择刚在上一步从Vroid中导出的.vrm模型。
等待片刻模型加载完毕后,先什么都不要动,点击FixModel。

稍等片刻后,模型修复完毕,接下来就是模型材质的提取,这一步完成之后在Unity可以直接引用材质贴图,配合对应的Shader实现还原Vroid中渲染的效果。
选择 Optimization 选项卡下的 Generate Material List

此时顺利的话会正常生成模型对应的材质,这里有遇到一个坑,如果没有生成对应材质球,或者材质(贴图)为空,可能是插件没加载成功,重启Blender并重新Generate Material List。成功生成效果如下图:

生成对应材质球后,选择**Save Atlas to…**,并将贴图文件保存至某个文件夹。导出的Atlas如图:

最后选择CATS工具上方的Export Model导出模型,导出配置一下缩放:


5.Unity的导入

正常新建一个工程,并导入Unity插件VRM-0.115.0_7e05,插件中包含了一些Shader,主要是还原VRM渲染效果的。
将刚才导出的.fbx模型文件直接连同Atlas贴图拖入Unity,养成好习惯,每个模型的贴图&模型放在同一个文件夹。

将模型放进场景中,发现感觉怪怪的,这是因为材质设置的原因,有两种解决方式:

  1. 不使用插件的Shader,使用Standard的材质,但是将Rendering Mode修改为Cutout,将贴图拖入Albedo并调整合适的Alpha Cutoff来尽量裁剪网格。

  2. 使用之前导入的插件,新建一个材质,将材质修改为UniGLTF–>UniUnlit,并同样将Rendering Type修改为Cutout,即可得到一个跟Vroid类似的渲染效果。


6.匹配模型骨架

选中模型文件,修改模型骨架类型为类人型(Humanoid),点击Apply,并在Condigure...中确认骨架分配是否OK,或进行需要的调整。

7.动画的导入

动画导入就是老朋友Mixamo了,在网站上Download就行。