00:00 / 00:00

Persona

VRMアバター

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 ShinoVRM 0.xCC0
ViviVRM 0.xCC0
Seed-sanVRM 1.0VRM Public License 1.0
Milky GreenVRM 1.0VRM Public License 1.0
RAYNOS-chanVRM 0.xSony Character EULA
Sporty RAYNOS-chanVRM 0.xSony Character EULA
mini RAYNOS-chanVRM 0.xSony 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 – 10でリムとマットキャップを平坦に描き、1でシーンのライトに連動させる
マットキャップ0 – 4マットキャップ——球面加算の映り込み——をスケールする。持たないマテリアルでは何も起きない
アウトラインの太さ0 – 2作者が設定したアウトラインをスケールする
アウトラインのライティング反映−1 – 10でアウトラインは自分の色を保ち、1でライティングに染まる
エミッシブ0 – 4自己発光の強さ。一部をブルームのしきい値の上へ押し出せる余裕がある
UVアニメーション0 – 4UVのスクロールと回転の速度をスケールする。0でアニメーションするテクスチャが止まる

マテリアルをリセットですべてのスライダーがニュートラルに戻ります——倍率はすべて1、オフセットはすべて0になり、モデルは作者が作ったとおりに描画されます

ポーズトラッキング

VRMはヒューマノイドのリグを持つので、VMCmocopi独自のプロトコル経由の全身モーションキャプチャでも動かせます——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日

Tech otakus destroy the world