トラッキングがCubismのパラメータに届く最後の一段——どの入力を、どの重みで、どの帯域へ、どんなカーブを通して割り当てるか——はここで編集します
Personaはまずモデル自身の.vtube.jsonに従うので、VTube Studioで調整したリグは作られたとおりに読み込まれます。このエディタはその上から変更を加えるもので、変更はモデルの隣のサイドカーへ書き込まれます。.vtube.jsonそのものは触りません
エディタを開く
Live2Dのレイヤーを選び、その詳細でパラメータを開きます。モデル詳細のいちばん下にあるセクションで、既定では閉じています
このページではLive2Dのトラッキング設定を説明します。VRMアバターのフェイストラッキングはプリセット表情とヒューマノイドボーンを直接動かし、コントローラーは仮想のバインディングターゲットを使用します
セクションの幅が足りていれば左右に分かれます。左が入力リスト、右が選択中の割り当ての設定です。狭いときは縦に積まれます
入力リスト
左の列には、割り当て済みのものだけでなくすべての入力が並びます。未割り当ての入力にも、その場でパラメータを追加できます。グループごとにまとまっていて、頭・目・眉・口・手・マウス、続いて52個の生のARKitチャンネルであるパーフェクトシンク、最後にコントローラーのプロファイルごとのグループが並びます
手はウェブカメラのハンドトラッキングから来る入力です。詳しくはウェブカメラトラッキングを参照してください。口にはマイクから来るVoice*の入力も含まれます。詳しくはリップシンクを参照してください
マウスはOSのカーソル位置で、カーソルXとカーソルY(MousePositionX、MousePositionY。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つは削れません
範囲
入力開始値/入力終了値はこの割り当てが見ている入力の帯域、出力開始値/出力終了値はパラメータを動かす帯域です
入力範囲を調整すると表情の感度が変わります。たとえばMouthSmileの0.2–0.8を−1..1に割り当てると、入力が0.8で出力が上限に達します。出力の上下限を入れ替えるとマッピングが反転します
新しい割り当ては一律の0..1ではなく、その入力自身のレンジから始まります。頭の角度の単位は度、ARKitチャンネルは0..1、それ以外は無次元です
スムージング
0〜100。値はスライダー上に表示され、直接入力もできます。単純な補間ではなく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.jsonのParameterSettingsが丸ごと取り込まれます。作者が各割り当てに付けた名前も一緒です。名前は編集でき、サイドカーへ保存されます。空にするとパラメータ自身の名前に戻ります
入力名は3段階で解決します。まずVTube Studio自身の語彙、次に生のARKitシェイプ名、最後にLeft/RightをL/Rに縮めるVBridgerの綴りです。VBridgerで作られたリグの行が落ちないのはこのためで、EyeSquintL・MouthDimpleR・MouthUpperUpLもすべて認識されます
VBridger自身の合成パラメータは入力ではありません。読み込み時に、VBridgerがそれらを計算している重み付きの和へ展開されます。式はプリセットに基づいているため、符号も比率もVBridgerでの結果と一致します
.vtube.jsonにカーブは入っていないので、読み込まれた割り当てはどれも直線から始まります。呼吸も読み込まれません。入力を持たない時間駆動のオシレータであり、スイッチは自動呼吸にあります
最終更新日:2026年9月20日