Skip to main content

关于VRM:VRM是什么?VRM能做什么?

什么是VRM

VRM 是处理 [人形] 的 [character avatars(角色化身)] 的一种文件格式。

  • 该格式基于glTF,因此是跨平台的,适用于游戏引擎和Web环境。
           ➡plugins(外部程序)
  • 提供了用于在 Unity 中读取和写入 VRM 文件的标准化实现方式。
           ➡UniVRM

内容

  • VRM 是基于 3D 标准格式 glTF2.0 构建的,用于处理人形模型。由于 VRM 定义了人形角色的标准构成方式,可以根据 VRM 中定义的人形骨骼来重现人形动作(例如使用动作捕捉数据或其他适用于人形角色的通用动作数据)。
  • 可以轻松地在运行时加载:VRM 的所有的纹理、材质等数据都打包在一个文件中。
  • 定义了标准的面部操作,例如 "喜怒哀乐"、"眨眼"、"あいうえお"(的口型)等,由此可以实现以下功能:
    • 通过用户操作选择表情。
    • 通过声音实现嘴型同步。
    • 随机眨眼。(不需要人为控制的自动眨眼)
    • 分配面捕数据。
    • BlendShape
  • VRM 支持3种类型的 materials (shaders)【材质(着色器)】。
  • VRM 支持3种类型的视线控制方式
  • 针对角色的头发、布料等需要物理晃动效果的部分,提供了不依赖于物理引擎的标准化实现方式。
  • VRM 中包含“第一人称视角信息”,以便于在 VR 中使用 VRM 作为 avatars,
  • VRM 不仅包含标题和作者等 Meta(元数据),还可以包含缩略图和针对 avatars 的特定许可证信息,以适应VR时代。

综上所述,VRM 的构成不仅限于简单的模型数据,还可以被应用程序加载并立即使用。

你可以用VRM做什么?


您可以在兼容VRM的不同应用程序之间使用同一个 avatars(3D模型)数据。当各种应用程序都支持VRM时,这将创造出这样的未来...

  • 使用 VRM 兼容的角色制作工具创建自己的 avatars。
  • 在直播中使用自己的 avatars,然后发现朋友也开始直播,于是前去参与朋友的直播。
  • 直播结束后直接启动 VR 游戏,使用自己的 avatars 在虚拟世界中探索。
  • 玩腻了游戏后,转移到虚拟世界的聊天室。与朋友一起使用相同的 avatars 进行游戏。
  • 第二天参加了虚拟现实学习会议。当然,avatars 保持不变。

通过使用你自己的VRM格式的 avatars(3D模型数据),您可以在各种兼容 VRM 的应用程序和游戏中互相切换。

直播、视频创作、游戏、聊天......虚拟世界彼此之间没有连接。使用 VRM 是连接这些虚拟世界的第一步。

VRM介绍-by.北溟瞬息

VRM 的特征

在 VR(Virtual Reality)和 VTuber 等相关情景中,如果想要处理“角色和人型的虚拟形象(的3D模型)”的话,以前每个应用程序、3D模型数据都需要开发自己的系统或进行细致的调整。

因为…

  • 根据制作3D模型的创作者和使用的建模工具,“作法”不同,导出数据的状况各不相同。
    • 坐标系不同(Y-UP,Z-UP,右手系,左手系)。
    • 衡量尺度不同(如:以米为单位,以厘米为单位)。
    • 初始姿势不同(T-Pose、A-Pose、Z+朝向、Z-朝向)。
    • 表情的表现方法不同(Morph,Bone,识别方法)。
    • Bone(骨骼) 的设置也根据状况而不同(形态、父子关系、识别方式)。
  • 每家公司都有自己的处理3D模型数据的规范,这些数据比平时复杂得多。此外,关于他们文件格式的必要信息通常没有完全提供。
    • 广泛使用的"FBX文件"在不同应用程序中的可读性可能有所不同。很多人可能会关注是在哪个应用程序的哪个版本中导出的FBX。

      补充:FBX 是非开源格式,目前所属 Autodesk,该格式能存储包括模型、骨骼、灯光、相机等数据。但是很多格式细节并未公开,因此会导致一些兼容性问题。比如开源程序 Blender 的 FBX 模块好像就是自研的,因此对 FBX 格式的兼容并不完美。故而导致 即使格式都是 FBX,但文件实际上也会有所区别。并且在 Blender 不同版本中的 FBX 也有区别。且 FBX 格式本身也存在 2006~2019 等多个版本,之间的功能特性和兼容性均有不同。

    • 游戏引擎能够将3D模型作为资产导入,但往往不会考虑游戏运行时动态加载这些资产的情况。
  • 从"以3D模型数据作为角色"的视角来看,缺乏必要的信息。
    • 例如,为了实现第一人称视角,如何获取正确的视点位置。为了正确的显示效果,需要单独隐藏头部的模型,但具体要消除哪部分等等。

随着在虚拟现实应用中使用 avatars 越来越普遍,如果上述情况不改变,应用程序开发人员和3D模型创作者将不得不付出两倍或三倍的努力。为改善当前的情况,基于人形角色和 avatars,我们可以采取以下措施改善这种情况:

  • 将必要数据存储在 Humanoid Character 和 avatars 中
  • 有效地吸收和统一模型数据的差异
  • 使应用程序端处理3D模型变得简单

因此 VRM联盟 提出了一个独立于平台的、具有上述特点的 3D avatars 文件格式-VRM

上传/下载VRM文件

此外,在将 VRM 文件上传到 Nikoni 3D时,还有一个选项「バーチャルキャスト連携」(virtual cast cooperation),这使用户可以在Virtual Cast 中使用VRM模型。

VRM应用程序开发

VRM development(VRM开发相关)