二、开始转换
一、载入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支持的更好的着色器,。
点击shader找到vrm选 shader 选择下一级Mtoon vrm >> Mtoon。
修改前后对比:
根据群友的反馈,着色器转换时会复制一些不需要的数据,会造成严重曝光,主要是vrm着色器太生硬了
我们需要把发光和rim关掉(全部拉黑)
我们把每一个材质球换完就可以了
五、骨骼处理
vrm转换时会自动删除所有动骨(db动骨和pb动骨),我们需要手动添加,我们找到模型子集的secondary
上面一般会自带bone组件,我们需要对他进行调整,将动骨拖入Root Bone中
并进行参数调整,您可以参考我们的参数设置(上面第二个图例)
下面我们加入碰撞
找到我们想加碰撞的地方添加组件VRM Spring Bone Collider Gtoup 并且调整参数(一般刚好看不见球就行)
将添加好碰撞组件的物体拖入secondary中的Collider Gtoup中
完成之后可以运行场景拖动模型看看效果