Skip to main content

VRM development

VRM Features (for Developers)

  • Right-handed Y-Up coordinate system ➡️Coordinate

  • Metric unit is meter ➡️ You don't have to worry about whether 1 is 1 meter or 1 cm.

  • It is a humanoid model and has a fixed bone configuration ➡️ Easy to use general-purpose humanoid motion and motion capture

  • T-pose as the initial posture (towards +Z-axis) ➡️ can be used directly for Third-Person-Shooter mode

  • Guaranteed that there is no rotation or scale in the initial posture ➡️ The burden of writing code that takes initial posture into account can be reduced.

  • It is guaranteed that bones and mesh overlap in the initial posture (the skinning Bind matrix only includes movement) ➡️ The burden of baking before processing the mesh can be reduced.

  • Expression/eye gaze manipulation are in BlendShapeProxy ➡️ BlendShapeProxy

  • A non-physical shaking thing has been set up ➡️ It shakes without interfering with physics, so it won't interfere with the game's gimmicks or become violent.

  • VR settings are available ➡️ FirstPerson

  • License information is defined ➡️ You can avoid using the model in a way that does not meet the wishes of the model owner.

Rather than packaging it as an asset in a traditional game development project, The intended use is to load it dynamically at runtime.

Runtime Import with UniVRM

You can use UniVRM's loading functionality at runtime. UniVRM creates GameObjects directly on the scene without creating Assets (Prefabs). A loaded GameObject can be treated like an instantiated Prefab.

Runtime Export with UniVRM

You can use UniVRM's export functionality at runtime. You can use this feature to implement a character creation tool.

Assets/VRM.Samples/Scenes/VRMRuntimeExporterSample.unity

Other VRM Implementations