二、开始转换
一、载入univrm插件
载入我们下载好的 univrm 插件:
将 UnityPackage 导入进我们的工程中:
载入后会在工具栏显示vrm工具,如果没有就重启一下unity,如果还没有检查一下是不是报错了
二、准备模型,简单处理
准备好我们的vrc模型 ,并用工具进行简单处理。
本教程使用入门包教程中所使用的模型 HAOLAN,参考以下文章:https://docs.vrcd.org.cn/books/vrchat/page/b9228
将模型预制件进行T-pose初始操作,我们可以点击模型的预制件后用 VRM0 下的 T-pose 进行操作
操作后我们可以在场景中看到初始化后的预制件
此时的预制件已经替换了组件以及清除了不需要的组件
三、二次处理,载入VRM组件
此处额外补充使用liltoon着色器的模型提前渲染材质的操作,首先找到模型的材质球,此材质球需要使用liltoon着色器,点击下方的 转换为MToon 将材质渲染并收集到固定文件夹以备后续使用
此后我们可以将渲染的材质球替换原来的材质球
初次处理的模型没有达到VRM打包条件,需要二次处理,我们需要进行一次导出自动生成打包件
使用 VRM0 中的 Export 进行一次导出
导出时主题、作者、简介需要填充字符,否则不允许导出
如果导出时出现以下警告:
这是你的模型因为添加衣服商品等导致网络冗杂,需要进行网络的整合,点击 VRM0 中的 MeshIngratorWizard 进行网络整合。
此时文件夹中会出现新的预制件和两个整合后的网络
,此时就可以进行导出了。
我们可以在目标文件夹找到打包好的 VRM 文件。
如果我们没有找到,回去看一下报错,大概率内存溢出,优化一下材质
我们将他重新导入到工程当中,使用 VRM0 中的 Import 进行导入。
这时我们就可以看见解包出来的文件。
如果导入后时出现以下情况:
只有一个文件夹或几个不完整的文件夹,又或是不可读的VRM文件
说明导出时的VRM不完整,一般是材质过大导致内存溢出打包过程被迫中断,我们优化一下材质(压缩贴图)
四、更换VRM支持着色器
如你在制作过程中使用了liltoon的Mtoon着色后打包了VRM则可以跳过此条
将预制件拖入场景中。
做成 vrm 时插件会将模型的着色器全部换成 Standard 着色器,我们需要把他换为 vrm 支持的更好的 Mtoon 着色器。
点击 Shader 选择 vrm >> Mtoon。
修改前后对比:
根据群友的反馈,着色器转换时会复制一些不需要的数据,而这会造成严重曝光。
我们需要将每一个材质球的发光(Emission)和 Rim 调整为黑色。
五、骨骼处理
vrm转换时会自动删除所有动骨(db动骨和pb动骨),我们需要手动添加,我们找到模型子集的secondary
上面一般会自带 bone 组件,我们需要对他进行调整,将动骨拖入 Root Bone 中
并进行参数调整,您可以参考我们的参数设置(上面第二个图例)
下面我们加入碰撞
找到我们想加碰撞的地方添加组件VRM Spring Bone Collider Gtoup 并且调整参数(一般刚好看不见球就行)
将添加好碰撞组件的物体拖入secondary中的Collider Gtoup中。
完成之后可以运行场景拖动模型看看效果。