关于Vroid模型导入Unity的二三事
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,养成好习惯,每个模型的贴图&模型放在同一个文件夹。
将模型放进场景中,发现感觉怪怪的,这是因为材质设置的原因,有两种解决方式:
不使用插件的Shader,使用Standard的材质,但是将Rendering Mode修改为Cutout,将贴图拖入Albedo并调整合适的Alpha Cutoff来尽量裁剪网格。
使用之前导入的插件,新建一个材质,将材质修改为UniGLTF–>UniUnlit,并同样将Rendering Type修改为Cutout,即可得到一个跟Vroid类似的渲染效果。
6.匹配模型骨架
选中模型文件,修改模型骨架类型为类人型(Humanoid),点击Apply,并在Condigure...
中确认骨架分配是否OK,或进行需要的调整。
7.动画的导入
动画导入就是老朋友Mixamo了,在网站上Download就行。