# 开始！模型的大变身

转换 VRM 模型的基本步骤

# 一、准备

### **一、选择 Unity 编辑器**

目前 VRChat 支持的两个编辑器中， **2019.4.31f1** 版本更加稳定， 而 **2022.3.6f1** 版本则会高发内存溢出的问题，所以在这里推荐 **Unity 2019.4.31f1**。

<p class="callout warning">您当然可以选择使用 **Unity 2022.3.6f1**，但也请额外注意并优化模型。</p>

[![vrcentry-1-4-2.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/yKO574ZuXxoLxWQF-vrcentry-1-4-2.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/yKO574ZuXxoLxWQF-vrcentry-1-4-2.png)

### **二、学习 Univrm**

我们用于 Unity 中转换为 VRM 模型的插件为 [**Univrm**](https://vrm.dev/en/univrm/) ，此插件可以将拥有 **UnityAvatar** 的物体转换为 **VRM** 模型的能力。

- 点击[**这里下载 Univrm**](https://github.com/vrm-c/UniVRM/releases)。
- 或者点击**[这里下载 Univrm 的国内副本](https://wwzt.lanzoul.com/ic6cN1bfdheh)**（速度更快，网络稳定，经过整合）。

此外我们推荐您工程中的模型着色器使用 **[liltoon](https://lilxyzw.github.io/lilToon/)** ，此着色器中含有 Mtoon 渲染的功能，可以快速渲染您的 VRM 模型。

> 此处 **VRChat 基础知识** 请前往入门包及初级包学习。
> 
> - [VRChat 入门包](https://docs.vrcd.org.cn/books/vrchat)
> - VRChat 初级包

# 二、开始转换

### **<span data-font-family="微软雅黑">一、载入univrm插件</span>**

<span data-font-family="微软雅黑">载入我们下载好的 **univrm** 插件：</span>

[![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/f3uhVFPOXs1gPw02-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/f3uhVFPOXs1gPw02-image.png)

将 **UnityPackage** 导入进我们的工程中：

[![序列 01_8 00_00_00-00_00_30.gif](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/N6y0ANPpOxmnjQVF-01-8-00-00-00-00-00-30.gif)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/N6y0ANPpOxmnjQVF-01-8-00-00-00-00-00-30.gif)

<span data-font-family="微软雅黑">载入后会在工具栏显示 vrm 工具，如果没有就重启一下 unity，如果还没有检查一下是不是报错了</span>

[![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/rTMeJpk2IWm1tYL6-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/rTMeJpk2IWm1tYL6-image.png)

### **二、<span data-font-family="微软雅黑">准备模型，简单处理</span>**

<span data-font-family="微软雅黑">准备好我们的 vrc 模型 ，并用工具进行简单处理。</span>

<p class="callout info"><span data-font-family="微软雅黑">本教程使用入门包教程中所使用的模型 **HAOLAN**，参考以下文章：https://docs.vrcd.org.cn/books/vrchat/page/b9228</span></p>

将模型预制件进行 T-pose 初始操作，我们可以点击模型的预制件后用 **VRM0** 下的 **T-pose** 进行操作

[![序列 01_9 00_00_00-00_00_30.gif](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/stmnKFzp3FmIEpMS-01-9-00-00-00-00-00-30.gif)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/stmnKFzp3FmIEpMS-01-9-00-00-00-00-00-30.gif)

操作后我们可以在场景中看到初始化后的预制件

此时的预制件已经替换了组件以及清除了不需要的组件

### **三、二次处理，载入VRM组件**

<p class="callout info">此处额外补充使用liltoon着色器的模型提前渲染材质的操作，首先找到模型的材质球，此材质球需要使用liltoon着色器，点击下方的 **转换为MToon** 将材质渲染并收集到固定文件夹以备后续使用。</p>

<p class="callout info">[![序列 01_11 00_00_00-00_00_30.gif](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/YWtd7phm4gnl1Qa5-01-11-00-00-00-00-00-30.gif)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/YWtd7phm4gnl1Qa5-01-11-00-00-00-00-00-30.gif)</p>

<p class="callout info">此后我们可以将渲染的材质球替换原来的材质球</p>

初次处理的模型没有达到 VRM 打包条件，需要二次处理，我们需要进行一次导出自动生成打包件。

使用 **VRM0** 中的 **Export** 进行一次导出。

[![序列 01 00_00_00-00_00_30.gif](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/N7MqwpLpDdgMzQ8j-01-00-00-00-00-00-30.gif)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/N7MqwpLpDdgMzQ8j-01-00-00-00-00-00-30.gif)

<p class="callout warning">导出时主题、作者、简介需要填充字符，否则不允许导出。</p>

> <p class="callout danger">如果导出时出现以下警告：</p>
> 
> [![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/uLY7AuTkrtBH3axc-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/uLY7AuTkrtBH3axc-image.png)
> 
> 这是你的模型因为添加衣服商品等导致网格冗杂，需要进行网格整合，点击 **VRM0** 中的 **MeshIngratorWizard** 进行网格整合。
> 
> [![序列 01_12 00_00_00-00_00_30.gif](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/bfS2ogzjhaONarGI-01-12-00-00-00-00-00-30.gif)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/bfS2ogzjhaONarGI-01-12-00-00-00-00-00-30.gif)
> 
> 此时文件夹中会出现新的预制件和两个整合后的网络，此时就可以进行导出了。
> 
> [![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/RWbDanQe1h3RNurX-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/RWbDanQe1h3RNurX-image.png)

我们可以在目标文件夹找到打包好的 VRM 文件。

[![画板 239.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/CL2yZzgWcoNrQt96-239.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/CL2yZzgWcoNrQt96-239.png)

<p class="callout danger">如果我们没有找到，回去看一下报错，大概率内存溢出，优化一下材质。</p>

我们将文件重新导入到工程当中，使用 **VRM0** 中的 **Import** 进行导入。

[![序列 01_10 00_00_00-00_00_30.gif](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/cOloWJi0ZmrGJE0S-01-10-00-00-00-00-00-30.gif)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/cOloWJi0ZmrGJE0S-01-10-00-00-00-00-00-30.gif)

这时我们就可以看见解包出来的文件。

[![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/TOAY4iGsykYq66lJ-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/TOAY4iGsykYq66lJ-image.png)

<p class="callout danger"> 如果在导入后：只有**一个或几个不完整的文件夹**，又或是 VRM 文件不可读，则意味着导出的 VRM 文件不完整，一般是材质过大导致内存溢出打包过程被迫中断，我们优化一下材质（压缩贴图）</p>

### **四、更换VRM支持着色器**

<p class="callout info">如果您在制作过程中使用了 liltoon 的 Mtoon 着色后打包了 VRM 则可以跳过此条</p>

<span data-font-family="微软雅黑">将预制件拖入场景中。</span>

[![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/iJ3thMvXbklJB2yk-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/iJ3thMvXbklJB2yk-image.png)

[![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/4qE1vTpiR4pdK5TB-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/4qE1vTpiR4pdK5TB-image.png)

<span data-font-family="微软雅黑">做成 vrm 时插件会将模型的着色器全部换成 Standard 着色器，我们需要把他换为 vrm 支持的更好的 **Mtoon** 着色器。</span>

<span data-font-family="微软雅黑">点击 **Shader** 选择 </span><span data-font-family="微软雅黑">**vrm &gt;&gt; Mtoon**。</span>

[![画板 238.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/JgTm7kLMzRjNtaVu-238.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/JgTm7kLMzRjNtaVu-238.png)

修改前后对比：

[![iinYADA6EYC2AE2a-236.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/HbSk8Lk0YvFE4JiM-iinyada6eyc2ae2a-236.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/HbSk8Lk0YvFE4JiM-iinyada6eyc2ae2a-236.png)

> <p class="callout warning"><span data-font-family="微软雅黑">根据群友的反馈，着色器转换时会复制一些不需要的数据，而这会造成严重曝光。</span></p>
> 
> [![画板 245.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/F7T02IWSNZuUIGgZ-245.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/F7T02IWSNZuUIGgZ-245.png)
> 
> <span data-font-family="微软雅黑">我们需要将每一个材质球的发光（Emission）和 Rim 调整为黑色。</span>
> 
> [![画板 244.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/Pe907u2dIgjgJRwh-244.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/Pe907u2dIgjgJRwh-244.png)

### <span data-font-family="微软雅黑">五、骨骼处理</span>

<span data-font-family="微软雅黑">vrm 转换时会自动删除所有动骨（db动骨和pb动骨），我们需要手动添加，我们找到模型子集的 secondary</span>

[![画板 247.jpeg](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/dbFHu7NDVkIHPPiC-247.jpeg)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/dbFHu7NDVkIHPPiC-247.jpeg)

上面一般会自带 bone 组件，我们需要对他进行调整，将动骨拖入 Root Bone 中

[![画板 241.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/Sq6vv6Ub0uAqST2L-241.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/Sq6vv6Ub0uAqST2L-241.png)

并进行参数调整，您可以参考我们的参数设置（上面第二个图例）

下面我们加入碰撞

找到我们想加碰撞的地方添加组件 VRM Spring Bone Collider Gtoup 并且调整参数（一般刚好看不见球就行）

[![画板 250.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/OB0O9HAipjBk6rby-250.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/OB0O9HAipjBk6rby-250.png)

[![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/tnjdyuWfkHfHQGLl-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/tnjdyuWfkHfHQGLl-image.png)

将添加好碰撞组件的物体拖入 <span data-font-family="微软雅黑">secondary 中的 Collider Group 中。</span>

[![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/JpSGm0ffpGV0KbB6-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/JpSGm0ffpGV0KbB6-image.png)

<span data-font-family="微软雅黑">完成之后可以运行场景拖动模型看看效果。</span>

### <span data-font-family="微软雅黑">六、导出</span>

<span data-font-family="微软雅黑">对于 Reborn 的小伙伴来说此时我们已经可以导出了，如果是各位皮套使用人可以参考下一页</span>

# 三、对于皮套的面捕一事

对于目前市场上的面捕软件，目前需要做处理的是小k直播姬和warudo，下面会教学如何去做软件中的表情识别。

在上一页中 [三、二次处理，载入VRM组件 ](https://docs.vrcd.org.cn/books/vrcfbxvrm/page/5ef0b)里我们得到了VRM的解包文件，在其中就有表情管理器。

[![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/Pd78LFdRxIRIVGmI-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/Pd78LFdRxIRIVGmI-image.png)

选中之后我们可以看到 VRM 模型上的默认表情列表，我们可以在里面编辑表情，也可以通过表情本身去编辑。

[![画板 246.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/txmGd4SnwLMse1bK-246.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/txmGd4SnwLMse1bK-246.png)

对于 warudo 来说默认的表情已经足够日常使用了，毕竟 warudo 可以直接调用模型的 blendshape，小k待会会有详细解释

选中表情键，看这个表情键的描述去调整blendshape。

[![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/rgM4gJkbwGMXBGdn-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/rgM4gJkbwGMXBGdn-image.png)[![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/DZmE0QwpH4I8VAkt-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/DZmE0QwpH4I8VAkt-image.png)

将列表中的表情键调整好就可以了

小k直播姬：你是真好，抽象到一般人还做不了

小k是用控制器的参数控制表情的所以表情的名字有严格的使用规范，在此不做具体说明，小k官方的文档讲述了具体的使用方法，接下来将是对应的引用：

《小K直播姬VRM文件Unity中转换操作规范\_V1.5》

> BlendShape 设置
> 
> [![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/2m8aKqJlNDVtrIza-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/2m8aKqJlNDVtrIza-image.png)
> 
> 在 文件夹Assets/SetVRM下打开 XXX.BlendShapes文件夹
> 
> [![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/BVYooFbc7CEsK93y-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/BVYooFbc7CEsK93y-image.png)
> 
> 点击BlendShape文件进行BlendShape编辑
> 
> 点击 Create BlendShapeClip
> 
> 将其命名保存在当前目录下。
> 
> [![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/UVDIOS16sCE1iAnQ-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/UVDIOS16sCE1iAnQ-image.png)
> 
> 点击保存后的BlendShapeClip文件，查看其 Inspector 界面
> 
> [![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/kfoormBovok1PkDl-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/kfoormBovok1PkDl-image.png)
> 
> 这是一个BlendShape动画设置，可以自行组合模型上的所有BlendShape。
> 
> [![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/VdTr77XxnkSlkMmA-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/VdTr77XxnkSlkMmA-image.png)
> 
> 点击这里修改命名
> 
> [![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/Ub2orvBN0doTvGQ6-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/Ub2orvBN0doTvGQ6-image.png)
> 
>   
> JawOpen 是由face下的表情参数合成出来的。
> 
> 点击BlendShape，会显示出对应模型上的所有BlendShape的列表。
> 
> [![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/1wQDrTYO64V0ca8z-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/1wQDrTYO64V0ca8z-image.png)
> 
> 需要添加上52个表情，这样导出的VRM文件才能被识别
> 
> 这是全部的命名列表
> 
> [![image.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/scaled-1680-/d9n0G9uar2aPPFaH-image.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-04/d9n0G9uar2aPPFaH-image.png)
> 
>   
> BlendShape 的命名规则   
> BrowInnerUp   
> BrowDownLeft   
> BrowDownRight   
> BrowOuterUpLeft   
> BrowOuterUpRight   
> EyeLookUpLeft   
> EyeLookUpRight   
> EyeLookDownLeft   
> EyeLookDownRight   
> EyeLookInLeft   
> EyeLookInRight   
> EyeLookOutLeft   
> EyeLookOutRight   
> EyeBlinkLeft   
> EyeBlinkRight   
> EyeSquintRight   
> EyeSquintLeft   
> EyeWideLeft   
> EyeWideRight   
> CheekPuff   
> CheekSquintLeft   
> CheekSquintRight   
> NoseSneerLeft   
> NoseSneerRight   
> JawOpen   
> JawForward   
> JawLeft   
> JawRight   
> MouthFunnel   
> MouthPucker   
> MouthLeft   
> MouthRight   
> MouthRollUpper   
> MouthRollLower   
> MouthShrugUpper   
> MouthShrugLower   
> MouthClose   
> MouthSmileLeft   
> MouthSmileRight   
> MouthFrownLeft   
> MouthFrownRight   
> MouthDimpleLeft   
> MouthDimpleRight   
> MouthUpperUpLeft   
> MouthUpperUpRight   
> MouthLowerDownLeft   
> MouthLowerDownRight   
> MouthPressLeft   
> MouthPressRight   
> MouthStretchLeft   
> MouthStretchRight   
> TongueOut   
> 每个命名都需要按照上面的命名来，不然导入到进去不能识别。

### **《小K直播姬FBX模型制作规范\_V1.5》**

> 眼睛表情14个   
> 1..EyeBlinkLeft 左眼上眼睑合拢：   
> 2\. EyeBlinkRight 右眼上眼睑合拢：   
> 3.EyeLookDownLeft 左眼向下看（以露出半个瞳孔为参考）：   
> 4.EyeLookDownRight 右眼向下看   
> 5.EyeLookInLeft 左眼看向内眼角（左右移动幅度以瞳仁贴近眼眶边缘为依据）：   
> 6.EyeLookInRight 右眼看向内眼角（左右移动幅度以瞳仁贴近眼眶边缘为依据）：   
> 7.EyeLookOutLeft 左眼看向外眼角   
> 8.EyeLookOutRight 右眼看向外眼角   
> 9.EyeLookUpLeft 左眼向上看   
> 10.EyeLookUpRight 右眼向上看   
> 11.EyeSquintLeft 左眼睛眯眼   
> 12.EyeSquintRight 右眼睛眯眼   
> 13.EyeWideLeft 左眼睛瞪眼   
> 14.EyeWideRight 右眼睛瞪眼   
> 嘴巴和下巴表情27个   
> 1.JawForward 下巴向前   
> 2.JawLeft 下巴向左   
> 3.JawRight 下巴向右   
> 4.JawOpen 下巴张开   
> 5.MouthClose 闭嘴（下巴下移但是嘴唇紧闭）   
> 6.MouthDimpleLeft 左微笑（嘴角微微后移不要拉太长，嘴角凹陷）   
> 7.MouthDimpleRight 右微笑   
> 8.MouthFrownLeft 左耷拉嘴   
> 9.MouthFrownRight 右耷拉嘴   
> 10.MouthFunnel 嘴唇撅起成漏斗形ao   
> 11.MouthLeft 嘴角往左撇   
> 12.MouthRight 嘴角往右撇   
> 13.MouthLowerDownLeft 左下唇往下   
> 14.MouthLowerDownRight 右下唇往下   
> 15.MouthPressLeft 左嘴按压   
> 16.MouthPressRight 右嘴按压   
> 17.MouthPucker 嘴向中间皱（嘴微闭，嘴角凹陷）   
> 18.MouthRollLower 下嘴唇往里卷   
> 19.MouthRollUpper 上唇里卷   
> 20.MouthShrugLower 下唇上耸   
> 21.MouthShrugUpper 上唇上耸   
> 22\. MouthSmileLeft 左嘴笑   
> 23.MouthSmileRight 右嘴笑   
> 24.MouthStretchLeft 左下角咧嘴   
> 25.MouthStretchRight   
> 右下角咧嘴   
> 26\. MouthUpperUpLeft 左上唇往上   
> 27.MouthUpperUpRight 右上唇往上   
> 眉与鼻子脸颊10个   
> 1\. BrowDownLeft 左眉下降   
> 2.BrowDownRight 右眉下降   
> 3.BrowInnerUp 眉毛内侧上挑   
> 4.BrowOuterUpLeft 左眉外侧上挑   
> 5.BrowOuterUpRight 右眉外侧上挑   
> 6.CheekPuff 脸颊吸气   
> 7.CheekSquintLeft 左侧苹果肌隆起   
> 8.CheekSquintRight 右侧苹果肌隆起   
> 9.NoseSneerLeft 鼻子左侧嘲讽   
> 10.NoseSneerRight 鼻子右侧嘲讽   
> 11.TongueOut 伸出舌头