# 2.设置VRM模块

#### **VRM模型**

上一节中，我们介绍了如何将模型输出为 VRM 格式的 prefab(预制文件)。

只要**将 VRM 文件拖拽到 Unity 的 Assets 文件夹中**，就会自动生成与 VRM 文件关联的 prefab(预制文件)。

[![导入VRM后的文件结构官方例图-by.北溟瞬息.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-07/scaled-1680-/LS9Ju0BHiK6U3jsg-vrm-by.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-07/LS9Ju0BHiK6U3jsg-vrm-by.png)

[![导入VRM后的文件结构新版例图-by.北溟瞬息.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-07/scaled-1680-/gzRXAyvaEC3qESlS-vrm-by.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-07/gzRXAyvaEC3qESlS-vrm-by.png)

只要将 VRM 文件拖拽到 Unity 的 Assets 文件夹中，就会自动生成与 VRM 文件关联的 prefab(预制文件)。

在上一节中，我按照官方文档说明，创建了“/Assets/models/vrm”文件夹并把VRM导出到这个文件夹，但是官方给的图有点对不上。官方的在图例是放在了“/Assets/vrm”。

- normalized(规范化)
- 选中 Prefab 文件(标准化模型)，查看检查器窗口。如上图所示，一些组件被附加到了模型上（VRMMeta、Animator、VRMBlendShapeProxy、VRMFirstPerson、VRMLookAtHead、VRMLookAtBoneApplyer 等组件）。

<p class="callout info">以防图片看不清，再次特别提醒：在上图中，你选中文件以后，可以在资源管理器窗口底下一栏查看到文件的后缀名（红字标注位置）。</p>

####   
**在场景中打开VRM预制件**

`File` → `New Scene` 。

将 Prefab(预制文件) 展开到场景中。

<p class="callout info">新建场景时会提示你是否保存当前的场景，如果保存了的话，场景文件会存在 Assets\\Scenes 文件夹里。</p>

<p class="callout info">一个场景在没做任何变动的情况下，你切换或者新建一个其他场景时，不会提示你保存，如果是新建且未变更的场景，会直接被丢弃掉，不会保存。</p>

<p class="callout info">你也可以使用之前导入了 FBX 的场景文件，但是要 Hierarchy(层级) 窗口中把角色模型移除，这个角色模型是之前的 FBX 文件预制件，没有 VRM 预制件的那些脚本组件。不要从 Project 窗口删除，这会直接把文件从你的文件夹丢进回收站，从而导致你的层级窗口的对象找不到文件，导致文件名件变成红色。</p>

####   
**编辑VRM独有的设置**

在菜单栏点击 【File 】→【New Scene 】创建一个新场景或使用现有场景。

然后将 Prefab(预制文件) 拖到 Hierarchy 窗口(这样的话，角色模型会自动放置在场景中间)。

[![编辑VRM独有的设定-by.北溟瞬息.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-07/scaled-1680-/f1zRdMvbF0IwLdIF-vrm-by.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-07/f1zRdMvbF0IwLdIF-vrm-by.png)

通过在 Hierarchy(层级) 窗口中点击选中 VRM 预制件，可以在 Inspector(检查器) 窗口中显示出 VRM 模型的信息。请注意，物理骨骼设置在名为 secondary 的游戏对象中。此外，在VRM元数据中，请确保设置了[标题、作者和授权信息](https://docs.vrcd.org.cn/books/vrm-univrm/page/a97da) 特别是许可证信息，这至关重要！（实际上不影响在程序上的使用，这是出于版权的尊重。）

<p class="callout info">补充：  
图里文件右上角的蓝色加号似乎是代表新文件的意思，我之前从Project窗口删过一次文件，从回收站还原文件以后被识别成了新文件。</p>

除此之外，要使VRM模型完全功能正常，请设置以下组件：

- [表情和口型的设置（BlendShape）](https://docs.vrcd.org.cn/books/vrm-univrm/page/blendshape)
- [第一人称视角的设置（在VR应用中排除模型的头部,以及设置标准视角位置）](https://docs.vrcd.org.cn/books/vrm-univrm/page/vrmfirstperson)
- [视线和眼球的活动范围以及可动曲线设置。不仅支持通过骨骼旋转眼球，还支持通过BlendShape实现眼球动画。](https://docs.vrcd.org.cn/books/vrm-univrm/page/lookat)
- [物理骨骼/碰撞组（SpringBone/SpringBoneCollider）的设置](https://docs.vrcd.org.cn/books/vrm-univrm/page/vrmspringbone)

请根据需要进行设置。

#### **再次导出VRM文件**

所有设置完成后，在 Hierarchy 中选择模型(导入的角色的 Prefab,选中最上层的父级游戏对象，不要选成展开的次级文件)，然后再次从 `VRM0` -&gt; `export UniVRM-0.XX` 导出模型。

[![新版本UniVRM导出-by.北溟瞬息.png](https://docs.vrcd.org.cn/uploads/images/gallery/2024-07/scaled-1680-/GB8Udiqy07Hrhk8P-univrm-by.png)](https://docs.vrcd.org.cn/uploads/images/gallery/2024-07/GB8Udiqy07Hrhk8P-univrm-by.png)

老一点的版本则是 `VRM` - `UniVRM-0.XX` - `Export humanoid`

<p class="callout info">不同版本的导出菜单稍有不同，上一节中有提过，之后不会再赘述，之后关于导出的文字描述我一般会直接复制官方文档的版本，但是截图我会使用自己截的。所以可能会出现，文字描述和图片的版本不一致的情况.</p>

<p class="callout info">**Pose Freeze （姿态冻结）**  
“Pose Freeze” 用于在导出过程中对模型进行规范化。  
<span class="">当设置`ExportRoot`时，会检查层次结构中是否存在旋转和缩放，从而自动设置这个复选框。  
即便进行了初次的标准化，但是  
</span><span class=""> •如果之后添加了附件（如配饰），那么</span>也需要进行姿态冻结。  
<span class="">只需重新设置`ExportRoot`，系统就会自动进行判断。</span>  
 <span class="">•此外，还支持 BlendShape 烘焙功能。</span></p>

#### **完成！**

VRM 文件已经准备好。尝试将 VRM 文件导入到[支持 VRM 的应用程序](https://vrm.dev/showcase/)中!