參數編輯器用於設定追蹤輸入、權重、輸入輸出範圍與回應曲線,決定追蹤資料如何驅動 Cubism 參數
Persona 首先照著模型自己的 .vtube.json 走,所以一個在 VTube Studio 裡調好的模型載入進來就是它原本的樣子。這個編輯器是在那之上改,變更寫進模型旁邊的附屬檔案,.vtube.json 本身不會被動
開啟編輯器
選取一個 Live2D 圖層,在它的詳細資訊裡展開參數。這是模型詳細資訊裡最靠下的區塊,預設收合
本頁介紹 Live2D 的追蹤參數繫結。VRM 虛擬形象 的臉部追蹤直接驅動預設表情與人形骨骼;控制器則使用虛擬繫結目標
區塊夠寬時左右分欄:左邊是輸入清單,右邊是選取那條繫結的設定。窄了就上下堆疊
輸入清單
左邊列出每一個可用的輸入,而不只是已經綁上的——可直接為尚未繫結的輸入新增參數。它們依類別分組:頭部、眼睛、眉毛、嘴巴、手部、滑鼠,接著是完美同步,也就是 52 個原始 ARKit 通道,最後是每份控制器設定檔各自的一族
手部來自攝影機的手部追蹤,見 攝影機追蹤;嘴巴裡還有麥克風提供的 Voice* 輸入,見 口型同步
滑鼠是系統游標的位置,游標 X 和 游標 Y(MousePositionX、MousePositionY,沿用 VTube Studio 的名字)。取值是游標所在那塊螢幕上的 −1..1,向右為正、向上為正。它和臉部追蹤無關,也不受追蹤總開關影響,所以攝影機關著照樣能驅動眼睛、頭部或者桌寵的爪子。只有位置——按鍵和按鍵組合需要一個 Electron 拿不到的全域輸入攔截
頂部的搜尋輸入同時比對輸入的標籤、它的 id、繫結自己的名稱和它驅動的參數
每一列是標籤在上、原始 id 在下。標籤是給人讀的,而 .vtube.json、.cdi3.json 與 外掛 API 使用的都是 id——點一下 id 就能複製。名稱下面那條數值條跟著這個輸入的即時數值走
一個輸入下面掛著它驅動的參數,列上可能帶這些標記:
| 標記 | 含義 |
|---|---|
| 曲線 | 這條繫結帶一條回應曲線 |
| 物理 | 物理演算也會寫這個參數 |
| +N | 這條繫結還彙總了另外 N 個輸入 |
| 取代 ⋯ | 選取它會把某條已有繫結移過來,而不是新建 |
新增參數開啟參數選擇器。參數名稱和它們的分組來自模型的 .cdi3.json;模型沒有這個檔案時清單是空的,因為 Persona 無從知道參數該叫什麼。選擇器裡的列還會標出驅動物理與物理兩種狀態
正在被別的繫結驅動的參數不會被停用。列上寫著現在的驅動者,選它是把那條繫結移過來,而不是再建一條——避免兩條規則同時寫入同一參數時互相覆蓋。參數原有的映射(輸出範圍、平滑、曲線、作者起的名稱)都留著,換掉的只有輸入和輸入範圍
繫結詳細資訊
右邊是選取那條繫結的全部設定
頂部一列是這條繫結的走向:輸入 → 參數。參數那一半可以點開,也就是變更參數——換一個目標參數,而這條繫結調好的東西全都留著:輸入、輸入範圍、平滑、曲線和名稱。只有輸出範圍跟著換,因為它的單位屬於原來那個參數。選到一個已經被別的繫結驅動的參數,同樣是把那條繫結移過來
參數 id 在這個模型上不存在時,列上標著缺失,下面也會紅字寫明這條繫結不會產生任何效果——換了模型之後常會遇到
輸入與權重
組合輸入列出彙總進這條繫結的每一個輸入,各帶一個 × 權重。它們相加之後才進入後面的映射,所以一條繫結可以組合多路訊號。權重在輸入框失去焦點時提交——每次提交都是一次寫入磁碟
某個輸入在這一影格缺席時按 0 算;只有一個輸入都沒有時,這條繫結才會被跳過。這正是 blink × −0.8 + wide × 0.8 這類寫法成立的原因,公式裡的常數由輸入範圍吸收掉
第一個輸入決定這條繫結掛在清單的哪一列下面。刪掉第一個會把它挪到下一個輸入名下,而最後一個刪不掉
範圍
輸入起點/輸入終點是這條繫結關心的那一段輸入,輸出起點/輸出終點是它把參數推過的那一段
調整輸入範圍可改變表情的靈敏度。例如,將 MouthSmile 的 0.2–0.8 映射到 −1..1,輸入達到 0.8 時輸出即達上限。對調輸出上下限可反轉映射
新建的繫結從這個輸入自己的量程開始,而不是一律 0..1——頭部角度的單位是度,ARKit 通道是 0..1,其餘無量綱
平滑
0–100,數值直接顯示在滑桿上,也可以輸進去。它是一條 One Euro 濾波器的係數,不是簡單的內插:動得快時跟得緊,靜止時抖得少
回應曲線
預設的映射是一條直線。新增回應曲線在輸入與輸出之間插進一條可以自己畫的曲線,移除曲線把它去掉
把曲線手動拉回一條直線,輸出和沒有曲線時完全一樣,但這條繫結仍然帶著曲線——只有移除曲線才真的把它去掉,列上的曲線標記也才會消失
畫布兩個軸都正規化到 0..1,左邊和下面標著這條繫結的兩個範圍,所以你看到的形狀就是「輸入這一段如何映到輸出這一段」。曲線上還有一個點,標出目前輸入落在哪裡
點擊新增節點,拖曳移動,右鍵刪除。兩端的節點只能上下動。選取一個節點後,上面的 X/Y 數字框用軸自己的單位直接輸入——一段平台該停在哪個值,輸進去比拖著試準
區段的類型
選取的節點決定從它向右的那一段怎麼走:
| 類型 | 走法 |
|---|---|
| 線性 | 直線 |
| 階梯 | 保持在這個節點的值,直到下一個節點才跳過去 |
| 反向階梯 | 立刻跳到下一個節點的值,然後保持 |
| 貝茲 | 三次貝茲。拖曳區段兩端的方形控制點調整形狀 |
最後一個節點右邊沒有區段,所以它的類型按鈕是停用的
預設
預設裡是幾種常見形狀,作為拖曳的起點:線性、緩入、緩出、S 曲線、閾值、階梯
物理演算
模型的 .physics3.json 會告訴編輯器哪些參數是物理演算的輸入、哪些是它的輸出:
- 驅動物理——物理拿這個參數當輸入。繫結它是正常的,很多模型的頭部旋轉本來就是這麼經過物理的
- 物理——物理演算自己會寫這個參數。再綁一條追蹤進去,兩者會互相衝突,詳細資訊裡也會紅字提醒
即時數值與手動調整
追蹤開著時,每個輸入列上的數值條和曲線上的那個點都跟著即時數值走
數值條下面還有一條參數值,讀的是這個參數此刻在模型上的實際取值——已經算完動作、表情和物理演算之後的那個值,畫在輸出範圍上。它和曲線上那個點對不上,就說明還有別的東西也在寫這個參數
拖曳數值條可以把這個輸入按在某個值上,攝影機關著也能把模型擺出姿勢來調曲線。放手就交還給追蹤;一直按住不動也會在幾秒後自動過期,所以關掉視窗、重新載入或者一次沒有收尾的拖曳都不會把模型卡在那兒
復原與重做
復原是 Cmd/Ctrl+Z,重做在它上面再加一個 Shift
一次拖曳算一步。曲線、範圍、權重、輸入的增刪和繫結本身的增刪都在同一條歷史裡。這條歷史屬於參數區塊——焦點在別處時,同樣的快速鍵回到場景的復原
儲存在哪裡
變更寫進模型旁邊的 <model>.persona.json,和 記住表情 用的是同一個附屬檔案。繫結永遠不會寫回 .vtube.json——該格式沒有用於儲存回應曲線或輸入權重的欄位
讀取的優先順序是 .persona.json → .vtube.json → 內建預設值。一旦附屬檔案裡有了繫結,會優先使用其中的繫結,不會和 .vtube.json 合併;此後你在 VTube Studio 裡的變更不再影響這個模型,區塊頂部也會這麼寫著
從 .vtube.json 匯入
第一次讀取時,模型 .vtube.json 裡的 ParameterSettings 會被整條搬進來,包括作者給每條繫結起的名稱。名稱可以改,改完存進附屬檔案;清空它就退回參數自己的名稱
輸入名稱按三步解析:先是 VTube Studio 自己的詞彙表,然後是原始 ARKit 形狀名稱,最後是 VBridger 把 Left/Right 縮成 L/R 的那套寫法。照 VBridger 綁的模型因此不會掉列——EyeSquintL、MouthDimpleR、MouthUpperUpL 這些都認得出來
VBridger 自己那幾個合成參數不是輸入,而是在匯入時展開成 VBridger 自己的加權和,公式取自它的預設,所以正負號和配比都和在 VBridger 裡一致
.vtube.json
裡沒有曲線可匯,所以匯進來的每一條繫結都是直線。呼吸那一條也不匯入——它沒有輸入,是一個跟著時間走的振盪器,對應的開關是
自動呼吸
最後更新於 2026年9月20日