00:00 / 00:00

Persona

パラメータの割り当て

トラッキングがCubismのパラメータに届く最後の一段——どの入力を、どの重みで、どの帯域へ、どんなカーブを通して割り当てるか——はここで編集します

Personaはまずモデル自身の.vtube.jsonに従うので、VTube Studioで調整したリグは作られたとおりに読み込まれます。このエディタはその上から変更を加えるもので、変更はモデルの隣のサイドカーへ書き込まれます。.vtube.jsonそのものは触りません

エディタを開く

Live2Dのレイヤーを選び、その詳細でパラメータを開きます。モデル詳細のいちばん下にあるセクションで、既定では閉じています

このページではLive2Dのトラッキング設定を説明します。VRMアバターのフェイストラッキングはプリセット表情とヒューマノイドボーンを直接動かし、コントローラーは仮想のバインディングターゲットを使用します

セクションの幅が足りていれば左右に分かれます。左が入力リスト、右が選択中の割り当ての設定です。狭いときは縦に積まれます

入力リスト

左の列には、割り当て済みのものだけでなくすべての入力が並びます。未割り当ての入力にも、その場でパラメータを追加できます。グループごとにまとまっていて、マウス、続いて52個の生のARKitチャンネルであるパーフェクトシンク、最後にコントローラーのプロファイルごとのグループが並びます

はウェブカメラのハンドトラッキングから来る入力です。詳しくはウェブカメラトラッキングを参照してください。にはマイクから来るVoice*の入力も含まれます。詳しくはリップシンクを参照してください

マウスはOSのカーソル位置で、カーソルXカーソルYMousePositionXMousePositionY。VTube Studioと同じ名前です)の2つです。値はカーソルのあるディスプレイ上の−1..1で、右へ、そして上へ向かうほど大きくなります。フェイストラッキングとも、トラッキングのスイッチとも独立しているので、カメラを切ったままでも目や頭、デスクペットの前足を動かせます。位置だけで、ボタンやキーにはElectronにない全体入力フックが必要です

上部の入力を検索は、入力のラベル・そのid・割り当て自身の名前・割り当て先のパラメータをまとめて絞り込みます

各行はラベルの下に生のidが出ます。ラベルは読むためのもので、.vtube.json.cdi3.jsonプラグインAPIではidを使用します。クリックすればコピーできます。名前の下のレベルはその入力の現在値に追従します

入力の下にはそれが動かすパラメータが表示され、行には次のタグが付くことがあります:

タグ意味
カーブこの割り当てにはレスポンスカーブが付いている
物理演算このパラメータには物理演算も書き込む
+Nこの割り当てはさらにN個の入力を合算している
⋯を置き換え選ぶと既存の割り当てが移動する。新しく追加されるのではない

パラメータを追加でパラメータのピッカーが開きます。名前とその分類はモデルの.cdi3.jsonから取ります。そのファイルがないとリストは空になります。パラメータが何という名前なのかを知る手がかりがないからです。ピッカーの行にも物理演算へ入力物理演算のタグが付きます

すでに他の割り当てが動かしているパラメータも無効にはなりません。行に現在の駆動元が表示され、それを選ぶと2本目が増えるのではなく、その割り当てが移動します。これにより、複数のルールが同じパラメータを上書きする競合を防ぎます。パラメータ側のマッピング(出力範囲・スムージング・カーブ・作者が付けた名前)はそのまま残り、変わるのは入力とその帯域だけです

割り当ての詳細

右の列には、選択中の割り当ての設定がすべて並びます

上部の行はこの割り当ての流れ、入力 → パラメータです。パラメータ側はピッカーになっていて(パラメータを変更)、割り当て先を差し替えても、調整した内容——入力、入力範囲、スムージング、カーブ、名前——はそのまま残ります。付いて変わるのは出力範囲だけで、これは元のパラメータの単位だからです。すでに他の割り当てが駆動しているパラメータを選んだ場合は、入力リストと同じくその割り当てがここへ移動します

このモデルに存在しないパラメータidには未定義のタグが付き、その下にこの割り当ては何も動かさない旨が赤字で出ます。モデルを載せ替えたあとによく見かけます

入力と重み

入力の組み合わせには、この割り当てに合算される入力が×の重みとともに並びます。合算されたあとで下のマッピングに入るので、1本の割り当てが複数の信号を組み合わせられます。重みはフォーカスが外れたときに確定します——確定のたびにディスクへ書き込むためです

そのフレームに来ていない入力は0として扱われ、入力が1つも存在しないときだけ割り当てがスキップされます。blink × −0.8 + wide × 0.8のような式が成り立つのはこのためで、定数は入力範囲が吸収します

最初の入力が、その割り当てがどの行にぶら下がるかを決めます。最初の1つを削ると次の入力の下へ移り、最後の1つは削れません

範囲

入力開始値/入力終了値はこの割り当てが見ている入力の帯域、出力開始値/出力終了値はパラメータを動かす帯域です

入力範囲を調整すると表情の感度が変わります。たとえばMouthSmile0.2–0.8−1..1に割り当てると、入力が0.8で出力が上限に達します。出力の上下限を入れ替えるとマッピングが反転します

新しい割り当ては一律の0..1ではなく、その入力自身のレンジから始まります。頭の角度の単位は、ARKitチャンネルは0..1、それ以外は無次元です

スムージング

0100。値はスライダー上に表示され、直接入力もできます。単純な補間ではなくOne Euroフィルタの係数です。速い動きには追従し、静止時には揺れを抑えます

レスポンスカーブ

既定のマッピングは直線です。カーブを追加で入力と出力のあいだに自分で描けるカーブが挟まり、カーブを削除で外れます

キャンバスは両軸とも0..1に正規化され、左と下にこの割り当ての2つの範囲が表示されます。つまり見えている形は「この入力の帯域がこの出力の帯域へどう写るか」です。カーブ上の点は、現在の入力がどこに落ちているかを示します

クリックで点を追加、ドラッグで移動、右クリックで削除します。両端の点は上下にしか動きません。点を選ぶと上のX/Yの数値欄に軸そのものの単位で入力できます。プラトーをどの値で止めるかは、ドラッグで探すより打ち込むほうが正確です

区間の種類

選択中の点は、そこからへ出る区間の進み方を決めます:

種類進み方
リニア直線
ステップこの点の値を保ち、次の点で跳ぶ
反転ステップ次の点の値へすぐ跳んでから保つ
ベジェ3次ベジェ。区間の両端に四角いハンドルが出るので、ドラッグして整える

最後の点には右へ出る区間がないので、種類のボタンは無効になります

プリセット

プリセットには、ドラッグの出発点になる代表的な形が入っています:リニアイーズインイーズアウトSカーブしきい値ステップ

物理演算

モデルの.physics3.jsonから、どのパラメータが物理演算の入力で、どれがその出力なのかが分かります:

  • 物理演算へ入力——物理演算がこのパラメータを入力として読みます。割り当てて構いません。頭の回転を物理演算経由にしているリグはたくさんあります
  • 物理演算——物理演算自身がこのパラメータへ書き込みます。ここにトラッキングも割り当てると両者が競合し、詳細ペインでも警告が出ます

現在値とスクラブ

トラッキングが動いていれば、各入力のレベルとカーブ上の点が現在値に追従します

レベルの下にはパラメータ値があり、モーション・表情・物理演算まで適用し終えた後に、そのパラメータがモデル上で実際に取っている値を出力範囲上に表示します。カーブ上の点とずれていれば、他の何かも同じパラメータへ書き込んでいます

レベルをドラッグするとその入力を任意の値に保持できるので、カメラを切ったままモデルにポーズを取らせてカーブを調整できます。放せばトラッキングに戻ります。保持したままでも数秒で自動的に期限切れになるので、ウィンドウを閉じても、再読み込みしても、ドラッグが最後まで届かなくても、モデルが取り残されることはありません

取り消しとやり直し

取り消しはCmd/Ctrl+Z、やり直しはそこにShiftを足します

1回のドラッグが1ステップです。カーブ・範囲・重み・入力の増減・割り当ての増減は、すべて同じ履歴に入ります。この履歴はパラメータセクションのものなので、フォーカスが別の場所にあるときは同じキーがシーンの取り消しに戻ります

保存先

変更はモデルの隣の<model>.persona.jsonへ書き込まれます。表情を記憶するが使うのと同じサイドカーです。割り当てが.vtube.jsonへ書き戻されることはありません——この形式にはレスポンスカーブや入力の重みを保存するフィールドがないためです

読み込みの優先順位は.persona.json.vtube.json → 内蔵の既定値です。サイドカーに割り当てが入ると以後はそちらが完全に優先され、.vtube.jsonとマージされることはありません。そのためVTube Studio側での変更はこのモデルに届かなくなり、セクションの上部にもそう表示されます

.vtube.jsonからの読み込み

初回の読み込み時に、モデルの.vtube.jsonParameterSettingsが丸ごと取り込まれます。作者が各割り当てに付けた名前も一緒です。名前は編集でき、サイドカーへ保存されます。空にするとパラメータ自身の名前に戻ります

入力名は3段階で解決します。まずVTube Studio自身の語彙、次に生のARKitシェイプ名、最後にLeft/RightL/Rに縮めるVBridgerの綴りです。VBridgerで作られたリグの行が落ちないのはこのためで、EyeSquintLMouthDimpleRMouthUpperUpLもすべて認識されます

VBridger自身の合成パラメータは入力ではありません。読み込み時に、VBridgerがそれらを計算している重み付きの和へ展開されます。式はプリセットに基づいているため、符号も比率もVBridgerでの結果と一致します

最終更新日:2026年9月20日

Tech otakus destroy the world