VRMは3Dキャラクターのフォーマットで、3Dステージで描画されます。既定エンジンのLive2Dも同じパイプラインで描画されます。レガシーWebGLエンジンを使用をオンにすると、Live2Dは独立した2Dキャンバスへ戻り、3Dステージの外側で描画されます
3DステージはWebGPUで動作し、WebGPUが使えないマシンでは自動的にWebGLへ切り替わります。バックグラウンドスレッドで動くため、複雑なシーンによるUIへの影響を抑えられます
VRM 0.xとVRM 1.0のモデルはどちらも読み込めます。両者で異なるlook-atと表情の規約にも対応しているので、各バージョンの規約に沿ってモデルを処理します。.vrmや.glbはLive2Dモデルと同じモデルを開く…の流れで開けます
同梱アバター
7体のVRMアバターがアプリに同梱されています:
| アバター | 仕様 | ライセンス |
|---|---|---|
| Sendagaya Shino | VRM 0.x | CC0 |
| Vivi | VRM 0.x | CC0 |
| Seed-san | VRM 1.0 | VRM Public License 1.0 |
| Milky Green | VRM 1.0 | VRM Public License 1.0 |
| RAYNOS-chan | VRM 0.x | Sony Character EULA |
| Sporty RAYNOS-chan | VRM 0.x | Sony Character EULA |
| mini RAYNOS-chan | VRM 0.x | Sony Character EULA |
Seed-sanにはクレジット表記の義務があり——Seed-san by VirtualCast, Inc.——Personaはこれをサードパーティに関する他の表示とともに概要ダイアログに表示します。モデル自身のライセンス条項は情報ブロックのライセンスの行に表示され、作者がクレジット表記を求めている場合は印が付きます
カメラ
Live2Dモデルがドラッグと拡大縮小のできる平らなキャンバスなのに対して、VRMはオービットカメラのある3Dシーンの中に置かれます:
| ジェスチャー | 効果 |
|---|---|
| ドラッグ | アバターの周りを回る |
| Alt / ⌥ + ドラッグ | カメラの注視点を平行移動する |
| スクロール | 寄る・引く |
動きにはLive2Dステージと同じ慣性の効いたイージングがかかり、仰角は極に届く手前で止まるのでカメラが裏返ることはありません。カメラをリセットは既定の構図に戻します。この構図はアバター自身のバウンディングボックスから算出されたものです。画角はレンズを10°から90°の間で設定します
カメラはモデルではなくシーンに属するので、1つのシーン内のすべてのVRMが同じカメラを共有します
配置
アバター自体はカメラとは独立に、ワールド座標のメートル単位で配置され、移動・回転・スケールのステージハンドルが付きます:
X · Y · Z · スケール · ピッチ · 回転 · ロール
スケールは0.05×から10×です。スプリングボーンの物理もモデルと一緒にスケールされるので、縮小・拡大したアバターでも髪は正しく動きます
配置はコントローラーからも動かせます——ステージ移動と移動中に歩くを参照してください
アイドル時の挙動
PersonaはVRMの読み込み後にアイドル動作を適用し、モデルがTポーズのままにならないようにします:
- アイドルアニメーション——ループする体のアニメーション。モデルごとに選べます
- まばたき——2〜6秒ごとにランダムで
- 呼吸——胸と背骨がゆっくり揺れます
- カーソルを目で追う——目がOSのカーソルを狙い、頭は自然な遅れを伴って途中まで振り向きます。Live2Dと同じカーソルを目で追うスイッチを共有します
- スプリングボーン——髪と衣服の物理。モデル自身のスプリングボーン設定がそのまま使われます
アイドルアニメーションは選択中のモデルのトラッキングセクションにあり、その隣にクリップを選択…があります。これを押すとインベントリがアニメーションに絞られた状態で開き、そこには専用に作られた8本の待機ループが入っています:
立つ · 手を後ろに · 手を腰に · 腕組み · もたれる · 話す · 座る · ダンス
7本のモーションクリップもアイドルとして選べますし、自分で追加したクリップも選べます。この8本の専用待機ループはシームレスです。他のクリップは、繰り返し時に動きがつながらない場合があります
この設定はシーンごとではなくモデルごとなので、同じシーンにいる2体のアバターがそれぞれ別のポーズを取ることもできます
モーションクリップ
PersonaにはpixivのVRoid ProjectによるVRM Animation(.vrma)クリップが7本同梱されており、読み込み済みのどのVRMでも再生できます——Live2Dのモーションと違い、特定のモデルに結び付いていません:
全身を見せる · あいさつ · ピースサイン · 撃つ · スピン · モデルポーズ · しゃがむ
各クリップはワンショットです。アイドルの上にフェードインし、最後のフレームを少し保ってから、ぶつ切りではなく滑らかにアイドルへ戻ります。まばたきとカーソル追従は再生中のクリップの上でも動き続けます。クリップはモーションセクションに表示されます。Live2Dのモーショングループとまったく同じ場所です
これらはインベントリのアニメーションの下にも行として並び、自分で追加したクリップと一緒に表示されます。行をクリックすると、読み込み済みのVRMでプレビュー再生されます
アニメーションクリップの読み込み
アニメーションカテゴリは次の形式に対応しています。.vrmaと、Mixamoの.fbxです。Mixamoのクリップは読み込み時にVRMのヒューマノイドへリターゲットされ、その後は.vrmaと区別がつきません——アイドルとしても、ワンショットのモーションとしても、インベントリでクリックしてプレビューする行としても使えます
リグ全体のうち移動するのは腰だけで、その移動量はターゲットのモデル自身の比率に合わせて換算されます。そのため移動を伴うクリップは、どの体型に乗せても歩幅がその体に収まります。Mixamoのリグを持たない.fbxはアニメーションとして読み込めません
表情
表情セクションにはモデルの表情の語彙が並びます——1.0のプリセット名とカスタム名で、0.xのプリセット名は1.0の対応する名前に変換されます。押すと適用され、もう一度押すと外れます。Live2Dの表情とまったく同じです。フェイストラッキングが動かすのも同じ一群です
適用中の表情にはウェイトスライダーが表示され、1%から100%の範囲で強さを調整できます。スライダーは有効な表情にのみ表示されます。表情を解除するには、ボタンをもう一度クリックしてください
52個のARKitブレンドシェイプをすべて表情として持つモデルは パーフェクトシンク に対応しており、Personaが導出した信号を経由せず、スマートフォンの生のARKit値で1対1に駆動されます。情報ブロックのパーフェクトシンクの行には、52個のうちいくつをモデルが持っているかが表示されます
セクション上部の表情を記憶するは既定でオンです。適用した表情はウェイトごと逐次保存され、そのモデルに戻ったときやアプリを再起動したときに復元されます。VRMには.vtube.jsonがないので、書き込み先はモデルファイルの隣の<model>.persona.jsonというサイドカーです
衣装
LAPLACE_outfit拡張を持つモデルでは、表情の下に衣装グループが表示されます。VRM標準の表情はモーフターゲット、マテリアルの色、テクスチャ変換を制御できますが、メッシュの表示・非表示には対応していません。この拡張は衣装パーツの名前と表示制御を定義し、VRChatなどから変換したモデルで利用できます。Personaでは各項目を表情として扱うため、ボタン、ウェイトスライダー、サイドカーへの保存、プラグインAPIを共通で使用できます
表情の調整と衣装の切り替えを区別しやすいように、顔と衣装は別のグループに表示されます
MToonマテリアル
ほとんどのVRMアバターはMToon、つまり仕様が備えるトゥーンシェーダーを使います。MToonセクションでは、作者が焼き込んだ設定の上から、モデルインスタンスごとに微調整できます:
| コントロール | 範囲 | 効果 |
|---|---|---|
| シェード | 0 – 1 | シェードの色がどれだけ強く出るか |
| シェーディングシフト | −1 – 1 | 明部と暗部の境界を移動させる |
| トゥーン度 | −1 – 1 | その境界がどれだけ硬いか |
| GIイコライズ | −1 – 1 | 環境光が陰影をどれだけ平坦にするか |
| ノーマルの強さ | 0 – 2 | ノーマルマップをスケールする。0で表面のディテールが平らになる |
| リムライト | 0 – 2 | 縁の光の強さ |
| リムリフト | −1 – 1 | その縁がシルエットからどれだけ内側へ回り込むか |
| リムのフレネル強度 | 0 – 4 | 上げるほど帯が縁へ引き締まる |
| リムのライティング反映 | −1 – 1 | 0でリムとマットキャップを平坦に描き、1でシーンのライトに連動させる |
| マットキャップ | 0 – 4 | マットキャップ——球面加算の映り込み——をスケールする。持たないマテリアルでは何も起きない |
| アウトラインの太さ | 0 – 2 | 作者が設定したアウトラインをスケールする |
| アウトラインのライティング反映 | −1 – 1 | 0でアウトラインは自分の色を保ち、1でライティングに染まる |
| エミッシブ | 0 – 4 | 自己発光の強さ。一部をブルームのしきい値の上へ押し出せる余裕がある |
| UVアニメーション | 0 – 4 | UVのスクロールと回転の速度をスケールする。0でアニメーションするテクスチャが止まる |
マテリアルをリセットですべてのスライダーがニュートラルに戻ります——倍率はすべて1、オフセットはすべて0になり、モデルは作者が作ったとおりに描画されます
ポーズトラッキング
VRMはヒューマノイドのリグを持つので、VMCやmocopi独自のプロトコル経由の全身モーションキャプチャでも動かせます——VSeeFace、Virtual Motion Capture、mocopiなどの送信側です。Live2Dモデルにはそうしたリグがないため、このセクションはVRMのときだけ表示されます
VRMでのショートカット
表情とモーションを対象とするショートカットのアクションはVRMでも動作します。表情は名前で、アニメーションクリップはそのファイルで割り当てられます。モデルを差し替えは形式を問わず動作します——ショートカットでレイヤーをLive2DモデルからVRMへ、またその逆へ切り替えられます
頭・体・視線・表情はコントローラーへ直接割り当てることもできます——VRMのターゲットを参照してください
モデル情報
情報を開くと、VRMの語彙で何が読み込まれたかが分かります:
| 行 | 意味 |
|---|---|
| ソース | モデルが同梱のものか、自分で開いたものか |
| ファイル | 読み込まれた.vrm。フォルダに表示するボタンが付く |
| 仕様 | VRM 0.xか、1.0仕様の正確なバージョン |
| ボーン | ヒューマノイドのボーン数 |
| スプリング | スプリングボーングループの数——0なら髪や衣服の物理がない |
| 表情 | 表情の数 |
| パーフェクトシンク | 52個のARKitブレンドシェイプのうち、モデルが持つ数 |
| 作者 | モデルの埋め込みメタデータに記載された作者 |
| ライセンス | ライセンスのURL。クレジット表記が必要な場合は印が付く |
| 読み込み時間 | ステージがそのモデルの読み込みに実際にかけた時間 |
切り替え
VRMはぶつ切りではなくフェードで切り替わります。このフェードはスクリーン空間のディザです——モデルは不透明の描画キューに留まり、自身の深度ソートを保ちます。代わりに透明度でフェードさせると、そのソートが崩れて顔を透かして頭の内側が見えてしまいます
アバターがポーズを取ってカメラを向くまでは何も描画されないので、初期化途中のモデルがステージに映ることはありません
最終更新日:2026年9月9日