VRM development

Created October 8, 2020 Last modified October 7, 2021 mv to docs/gltf (d91f4cbc)


VRM Features (for Developers)

  • Right-handed Y-Up coordinate system ➡️ Coordinate
  • Metric unit is meter
  • Humanoid bones ➡️ compatible with humanoid motion and motion capture
  • T-pose as the initial posture (towards +Z-axis) ➡️ can be used directly for Third-Person-Shooter mode
  • The initial pose has no rotation and scale
  • The mesh is aligned with the Humanoid Skeleton in the initial pose (only skin’s bind matrices are not included)
  • Expression/eye gaze manipulation are in BlendShapeProxy ➡️ BlendShapeProxy
  • Spring physics setup on clothes, hair and others ➡️ no interference with other physics
  • VR settings are available ➡️ FirstPerson
  • Licenses settings such as permission to use the avatar, permissions for violent and sexual activities, etc. are defined

VRM is used for loading model into applications at runtime as opposed to the way that pre-makes models as asset for the use of the specific application.

Runtime Import with UniVRM

UniVRM can load VRM into Unity as a GameObject instead of a prefab. The imported GameObject is the same as the instantiated GameObject from Prefab.

Runtime Export with UniVRM

UniVRM can export the VRM model at runtime in Unity. The export function can be used for applications such as character maker tool.

Exporter sample can be found in:


Other VRM Implementations

VRM - humanoid 3d avatar format for VR