Skip to main content

2.设置VRM模块

VRM模型

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

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

导入VRM后的文件结构官方例图-by.北溟瞬息.png

导入VRM后的文件结构新版例图-by.北溟瞬息.png

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

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

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

以防图片看不清,再次特别提醒:在上图中,你选中文件以后,可以在资源管理器窗口底下一栏查看到文件的后缀名(红字标注位置)。


在场景中打开VRM预制件

FileNew Scene

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

新建场景时会提示你是否保存当前的场景,如果保存了的话,场景文件会存在 Assets\Scenes 文件夹里。

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

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


编辑VRM独有的设置

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

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

编辑VRM独有的设定-by.北溟瞬息.png

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

补充:
图里文件右上角的蓝色加号似乎是代表新文件的意思,我之前从Project窗口删过一次文件,从回收站还原文件以后被识别成了新文件。

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

请根据需要进行设置。

再次导出VRM文件

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

新版本UniVRM导出-by.北溟瞬息.png

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

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

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

完成!

VRM 文件已经准备好。尝试将 VRM 文件导入到支持 VRM 的应用程序中!