Skip to main content

VRM Animation

https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_vrm_animation-1.0

什么是“VRM Animation”?

VRM Animation 是一种格式,用于描述在 VRM 中定义的人型模型的动画。

  • 同一个 VRM Animation 文件可以用于所有 VRM 文件
  • 该格式使用 glTF 描述,是一个跨平台格式。
  • UniVRM 提供了在 Unity 中导入和导出 VRM Animation 的标准解决方案

文件的内容

  • 动画被描述为 glTF animation
  • 扩展中定义了将 VRM 的每个组件与要实现动画效果的 glTF 节点相关联的信息。
    • VRMC_vrm_animation 扩展中定义。
    • 建议使用 .vrma 扩展名。
  • 🦴 可以描述 Humanoid bone animation (骨骼动画)
    • 扩展内指定了 glTF 节点与哪个 Humanoid 骨骼相对应。
    • 实现将转换动画的骨骼旋转,以正确反映到目标 VRM。
  • 😄 可以描述 Expression animation (表情动画)
    • 文件中包含表情的动画权重,表示为 glTF 节点的坐标。
    • 除了 VRM 中定义的预设表情,如果目标 VRM 定义了对应的表情,也支持 custom expressions(自定义表达式)。
  • 👀 可以描述 Gaze control animation(视线动画)
    • 在扩展内指定了代表视线方向的 glTF 节点。

VRM Animation 的用途

通过 VRM Animation,您可以在跨应用程序和模型使用人型模型的动画。

以下是一些 VRM Animation 可能的应用示例:

  • 使用支持 VRM Animation 的 authoring tools 创建动画
  • 在各种应用程序中使用通过 motion capture 记录的动画
  • 在 live streaming 和 photo 应用中使用使用 VRM Animation 创建的动画
  • 将使用 VRM Animation 创建的动画带到 Metaverse,播放、与其他用户分享并共同使用
  • 在 game engines 中加载 VRM Animation 文件,并在 game development 中使用

支持 VRM Animation 的应用程序

showcase

警告
得益于社区的支持,许多应用程序在支持 VRM Animation 的 draft 规范方面进行了合作。VRM Animation 规范刚刚正式发布。如果您使用支持 draft 版本的应用程序,行为可能与正式版不同,或可能无法按预期工作。

备注
若希望在此列表中增加新的应用程序,
请通过 GitHub 提交 issues 或 Pull Request
请务必提供应用程序的名称与网址。

使用 VRM Animation 开发应用程序

VRM-1.0 已支持 VRM-Animation。

import

请参考 import 和 retarget

export

此外,如果 Unity 中存在 humanoid 动画,可以逐帧导出为 VRM-Animation。

EDITOR 专用

请参考 export