VRM

3D ヒューマノイドアバターの規格。glTF 2.0 を拡張した日本発のフォーマットで、ドワンゴが提唱、現在は VRM コンソーシアム(プラットフォーム横断)が仕様を管理。アバターを「アプリ間でそのまま持ち歩ける」ことを核に据えた規格。

何を解決した規格か

3D アバターは元々アプリごとに独自フォーマットだった:

これだと「同じ自分のアバターを別アプリに持ち込めない」。VRM は glTF 2.0 + 拡張メタデータ(ヒューマノイドボーン構造、表情マッピング、揺れもの定義、ライセンス情報)を 1 ファイル .vrm に packing して、規格に対応するアプリならそのまま読める形にした。

バージョン: 0.x と 1.0 の二本立て

VRM には現状 2 つ並走している:

系列状況互換性
VRM 0.x2018 から普及。VRChat 系・VRoid 系の素材が膨大レガシーだが現実的に主流
VRM 1.02023 正式版。仕様が整理され、Material/Constraint が glTF 2.0 拡張に準拠0.x と直接互換ではない(変換が必要)

新規プロジェクトは VRM 1.0 推奨だが、既存素材の大半はまだ 0.x。プラットフォーム側で 0.x → 1.0 自動変換を提供しているケースが多い。

ファイル構造

.vrm は中身が glTF 2.0 のバイナリ形式 (.glb) で、VRM 固有の拡張が extensions 配下に詰め込まれている。

flowchart LR
    Vrm[".vrm = .glb<br/>(glTF 2.0 バイナリ)"] --> Mesh[メッシュ + テクスチャ]
    Vrm --> Skeleton[スケルトン]
    Vrm --> Ext["extensions:<br/>VRMC_vrm /<br/>VRMC_springBone /<br/>VRMC_node_constraint /<br/>VRMC_materials_mtoon"]
    Ext --> Humanoid["Humanoid マッピング<br/>(54+ ボーンの標準名 → モデルの実ボーン)"]
    Ext --> Expr["表情<br/>(joy / sorrow / aa / blink ...)"]
    Ext --> Spring["揺れもの<br/>(髪・服・しっぽ)"]
    Ext --> Meta["メタデータ<br/>(作者・利用規約・3D 利用可否)"]

VRM 固有の拡張(VRM 1.0 主要なもの)

拡張名役割
VRMC_vrmコア。Humanoid + 表情 + メタデータ
VRMC_springBone髪・服・しっぽ等の揺れ物理
VRMC_node_constraint視線追従などの制約
VRMC_materials_mtoonアニメ調シェーダ MToon(標準同梱)

ライセンスメタデータ(VRM の特徴)

VRM は モデル自体に作者の意思を埋め込める のが大きな差別化:

プラットフォーム側はこのメタデータを尊重する義務を負う(強制力はないが、業界の規範)。

主要ツール

作成

利用

VTuber エコシステムでの位置

VRM vs Live2D(覚え書き)

観点VRMLive2D
次元3D2D
元素材モデリングデータ(fbx, blend)イラスト(PSD)
角度全方位描画可能正面付近のみ
制作難易度高(モデリング工程)中(イラスト + Cubism 操作)
配信向きVR / メタバース / 3D 表現配信枠の中の 2D 表情
規格主体VRM コンソーシアムLive2D Inc.(独占)
ライセンス規格はオープン、モデルは作者次第SDK 商用ライセンス契約

押さえどころ(カード化候補)

Graph