開啟「追蹤 → 控制器」啟用輸入並管理設定檔。每個虛擬形象的移動方式在其自身的「追蹤」區域中設定。
控制器
追蹤面板底部的控制器區塊用於管理遊戲控制器。控制器輸入支援設定 Live2D 與 VRM 的 參數繫結、逐實例的舞台移動,以及用於 自動化 與 虛擬形象快速鍵 的多鍵組合。控制器輸入不依賴追蹤來源與形象指派,且不支援直接控制相機視角。
連接控制器
開啟啟用控制器開關後連接控制器:
- DualSense、DualSense Edge 與 DualShock 4(v1 與 v2)控制器透過 WebHID 隨插即用,無需先聚焦視窗或按下按鍵即可自動辨識,應用程式重新啟動後也會自動重新連線。
- 在 Windows 上,Xbox 協定控制器(最多 4 支)透過原生 XInput 讀取,同樣無需按鍵喚醒,其他應用程式視窗在前景時也會持續回報輸入。
- 其他控制器遵循瀏覽器 Gamepad API:先點選舞台使視窗獲得焦點,再按下控制器上的任意按鍵,裝置才會出現在清單中。
已連接的控制器即時統計目前連線的裝置總數(包含尚未指派設定檔的控制器)。已連接的控制器設定檔卡片排在前面,其餘設定檔歸檔於摺疊的已儲存的設定檔清單中。點選卡片只會切換即時監視面板顯示的裝置,不會變更既有的繫結。
| 控制項 | 說明 |
|---|---|
| 名稱 | 自訂易於辨識的設定檔標籤。按 Enter 鍵或使輸入框失焦即可儲存,清空文字則還原預設編號 |
| 搖桿死區 | 針對目前設定檔的兩枚類比搖桿全域生效,預設值為 15%;可根據控制器硬體的漂移情況獨立微調 |
| 指派控制器 | 選取已儲存的設定檔後點選該項,並在實體控制器上按下一個按鍵,即可將該實體裝置與目標設定檔繫結 |
| 移除設定檔 | 位於已儲存的設定檔中。需先中斷對應的實體控制器。繫結的參數映射與快速鍵將被保留,但該設定檔編號不會再分配給新裝置 |
應用程式設定中儲存設定檔編號、硬體回報的產品名稱以及硬體唯一識別碼的加密雜湊值(不儲存原始硬體識別碼)。具備唯一硬體識別碼的裝置(如 DualSense 與 DualSense Edge)即使型號完全相同,在調換插入順序或更換線材後也能對應各自的繫結。拔除控制器只會釋放它的輸入通道,不會刪除設定檔或其繫結。
DualShock 4、XInput 及標準瀏覽器 Gamepad API(受 規範限制)不提供硬體唯一序號。當此類無硬體識別碼的控制器重新連線(如無線睡眠喚醒或重新啟動應用程式)時,若恰好僅有一份同名且空閒的無識別碼設定檔與一支待指派的同名控制器,系統會自動將其歸位至該設定檔;若同時使用多支同款無識別碼控制器或曾手動調整過指派,重新連線後請透過指派控制器重新確認。
Xbox、其他系列 PlayStation 以及 Nintendo Switch Pro 控制器遵循 Chromium 的 standard 標準按鍵映射,依據按鍵的實體拓撲位置而非表面印字進行辨識。無法辨識的瀏覽器非標準映射會被標記為不支援。目前版本暫不支援陀螺儀體感、觸控板觸控與滑動、自訂按鍵重新對應以及多控制器合併為一個虛擬控制器。
控制器驅動參數
在模型的參數編輯器中,每份已儲存或已建立過繫結的控制器設定檔都會對應產生一組輸入源。每條繫結規則都可以選用任意一組控制器輸入,因此不同控制器可以分別驅動不同的模型或參數。
1 號控制器設定檔沿用 VTS 的標準輸入名稱,既有的 .vtube.json 映射可直接載入。2 號及之後的設定檔會在 Controller 後插入設定檔編號(如 Controller2StickLeftX、Controller3Cross、Controller12TriggerRight)。這套編號命名是 Persona 的擴充,外掛 API 的輸入目標也使用相同名稱。下表列出的是 1 號設定檔的 ID:
| 輸入 | ID | 取值 |
|---|---|---|
| 左搖桿 X · 左搖桿 Y | ControllerStickLeftX、ControllerStickLeftY | −1 至 1,Y 軸向上為正 |
| 右搖桿 X · 右搖桿 Y | ControllerStickRightX、ControllerStickRightY | −1 至 1,Y 軸向上為正 |
| 左搖桿按下 · 右搖桿按下 | ControllerStickPressLeft、ControllerStickPressRight | 0 至 1 |
| 方向鍵 X · 方向鍵 Y | ControllerDPadX、ControllerDPadY | −1 至 1,Y 軸向上為正 |
| 方向鍵 (上) · 方向鍵 (下) · 方向鍵 (左) · 方向鍵 (右) | ControllerDPadUp、ControllerDPadDown、ControllerDPadLeft、ControllerDPadRight | 0 至 1 |
| 面板按鈕 (下) · 面板按鈕 (右) · 面板按鈕 (左) · 面板按鈕 (上)(A/B/X/Y) | ControllerCross、ControllerCircle、ControllerSquare、ControllerTriangle | 0 至 1 |
| 左肩鍵 · 右肩鍵(L1/R1) | ControllerShoulderLeft、ControllerShoulderRight | 0 至 1 |
| 左扳機 · 右扳機(L2/R2) | ControllerTriggerLeft、ControllerTriggerRight | 0 至 1 |
| 選項 (左) · 選項 (右) | ControllerOptionLeft、ControllerOptionRight | 0 至 1 |
| 首頁按鈕 | ControllerHome | 0 至 1 |
| 觸控板按下 | ControllerTouchPadPress | 0 至 1 |
| 左手拇指位置 · 右手拇指位置 | ControllerThumbPosLeft、ControllerThumbPosRight | 0 按鍵、1 搖桿、2 選項鍵、3 觸控板按下 |
| 左手食指位置 · 右手食指位置 | ControllerFingerPosLeft、ControllerFingerPosRight | 0 肩鍵、1 扳機、2 同時按下 |
| 任一左側按鈕 · 任一右側按鈕 | ControllerButtonsAnyLeft、ControllerButtonsAnyRight | 0 至 1 |
| 左側按鈕按下數 · 右側按鈕按下數 | ControllerButtonCountLeft、ControllerButtonCountRight | 0 至 4 |
| 控制器傾斜 | ControllerLean | −1 至 1 |
- 四個方向鍵輸入便於為上下左右分別建參的模型直接繫結,無需把軸向輸入範圍反轉為
0至−1。 - PlayStation 控制器的觸控板按下支援 DualShock 4、DualSense 與 SCUF Vantage。
- 對拇指而言,
0指十字鍵(左手)或面板按鈕(右手),1指推動或按下該側搖桿。只有右手拇指會輸出3:該側沒有其他操作時按下觸控板。 - 拇指與食指位置在閒置時保持最後的值,控制器連線時初始為
0。 - 從拇指或食指位置新建繫結時,輸入範圍預設依每個輸出單位對應 1 檔設定(如
0..1參數對應0..1),搖桿或扳機位置即可直接對應1。 - 任一左側按鈕、任一右側按鈕、左側按鈕按下數與右側按鈕按下數統計各側拇指負責的按鍵:左側為十字鍵(每個軸向最多計 1 次)、搖桿按下與選項鍵,右側為面板按鈕、搖桿按下與選項鍵。肩鍵與扳機不計入。
- 控制器傾斜是相容 VTS 的平滑傾斜偏移:按下左側按鍵時為
+0.6,右側為−0.6,兩側同時按下則相互抵銷,再減去兩搖桿 X 平均值的0.4倍。
控制器輸入直接作用於每個已載入模型本身的繫結,不受臉部追蹤總開關或追蹤來源指派的影響。控制器輸入先經過模型的逐輸入 校正,再與臉部追蹤輸入加權相加,然後進入範圍映射、回應曲線與平滑。臉部追蹤中斷期間,保持的臉部輸入仍然有效,控制器輸入照常回應。
在參數編輯器中拖曳輸入滑桿時,拖曳的值優先於實體控制器輸入。控制器繫結採用與影格率無關的指數濾波:平滑度為 0 時立即回應,為 100 時時間常數為 350 毫秒。
拔除單支控制器僅釋放該控制器對應的輸入組;關閉啟用控制器總開關則釋放所有控制通道。中斷後,若無其他追蹤來源驅動對應參數,Live2D 模型的輸出值將平滑復位至 Cubism 的初始預設狀態。
VRM 上的控制器目標
在 VRM 虛擬形象 的參數編輯器中,系統產生了一批專為 3D 虛擬形象設計的虛擬繫結目標。這些目標並非源自 Cubism 參數:
| 目標 | 範圍 | 說明 |
|---|---|---|
HeadYaw、HeadPitch、HeadRoll | −30° 至 30° | 疊加至正規化頭部骨骼的角位移偏移量 |
BodyYaw、BodyPitch、BodyRoll | −15° 至 15° | 動態分配至可用脊椎與胸部骨骼的旋轉偏移量 |
GazeYaw、GazePitch | −90° 至 90° | 疊加至目前視線凝視角度的偏移量 |
Expression:<名稱> | 0 至 1 | 模型自帶的標準預設或自訂表情權重 |
角度沿用臉部追蹤的座標系慣例,VRM 0.x 與 VRM 1.0 之間的俯仰與翻滾差異由算繪引擎在內部處理。表情名稱須與模型內部宣告的名稱一致,區分大小寫。
骨骼與視線偏移疊加在底層的基礎動畫、姿勢追蹤與臉部追蹤之上;表情繫結只控制其指向的權重。每個影格結束時,驅動器會還原底層狀態,因此偏移不會累積,手動調好的表情權重也不會被覆蓋。放開輸入或刪除繫結後,目標會平滑回到底層圖層目前的狀態,其他控制器及追蹤來源控制的目標不受影響。
繫結規則歸屬於模型本身,持久化儲存在模型同目錄的 tracking sidecar 檔案中,因此同一模型的多個實例共用這套繫結。若需讓同一模型的不同複本獨立運動,請使用下述的逐實例舞台移動功能。
公開參數注入介面目前僅向 Live2D 開放;上述 VRM 虛擬繫結目標僅存在於參數繫結編輯器內部。
舞台移動
在虛擬形象自身的追蹤設定區中,勾選控制器移動並指定一份已儲存的控制器設定檔。同時須確保啟用控制器總開關已開啟。舞台移動功能為選用特性,預設處於關閉狀態——常規的參數繫結與控制器快速鍵均不依賴此功能。
| 控制項 | Live2D | VRM |
|---|---|---|
| 左搖桿 X | 水平平移 | 沿世界座標系 X 軸平移 |
| 左搖桿 Y | 垂直平移 | 沿世界座標系 Z 軸平移(向上推為負 Z) |
| 右搖桿 X | 在舞台平面內旋轉 | 繞世界座標系 Y 軸旋轉轉向 |
| 右搖桿 Y | 調整顯示縮放 | 抬高或降低世界座標系 Y 軸高度 |
Live2D 的縮放基於目前尺寸等比進行,並遵循模型允許的縮放上下限。
| 控制項 | 範圍 | 預設值 | 說明 |
|---|---|---|---|
| 移動速度 | 0 至 10 | 0.5 | Live2D 以舞台高度/秒計,VRM 以公尺/秒計;同時按比例決定 Live2D 的縮放速率與 VRM 的升降速度 |
| 旋轉速度 | 0 至 720 | 90 | 單位為度/秒 |
| 反應平滑 | 0 至 0.5 | 0.12 | 速度濾波的時間常數(秒),設為 0 時即時回應 |
移動依真實經過的時間對濾波後的速度做數值積分,因此在 30、60 與 120 fps 下移動速度保持一致。搖桿回中後,形象會平滑減速,停在新的位置。拔除控制器、關閉功能或重新指派裝置會立即清空累積速度,重新連線後不會殘留先前的運動慣性。隱藏的虛擬形象不回應移動。
用滑鼠直接拖曳擺放、執行位移過渡(如自動化的模型位置動作或外掛發起的位移),以及文字輸入、快速鍵錄製或指派控制器期間,舞台移動會暫時停止。
舞台移動將直接修改該實例在場景中的空間座標,並隨場景檔案一同持久化儲存。
移動時行走
適用於VRM在設定中開啟移動時行走並從動畫資源庫中指定一個步行動畫片段——可先開啟開關,在選定動畫片段前該功能不會生效。匯入的 VRMA、Mixamo FBX 與 MMD VMD 動畫格式與待機動畫共用同一套已註冊的動畫資產清單。
虛擬形象在地面上移動時,步行動畫循環播放;停下後平滑過渡回待機動畫。
步態速度是該片段以 1.0 倍速播放時的標稱地面移動速度(公尺/秒)。實際播放速率等於實測的地面移動速度除以該標稱速度、再除以模型的縮放比例,因此調整移動速度或模型縮放時,步頻會自動適配。
- 步行動畫中髖關節 (Hips) 的水平(X/Z)位移會被剔除,以場景座標為準;上下起伏會保留。
- 行走動畫層不包含頭部、視線與表情軌道,控制器與臉部追蹤驅動的姿態不受影響。
- 單次播放的動畫優先。全身姿勢追蹤(VMC、mocopi 或攝影機)驅動髖部或腿部時,行走會被自動抑制;僅驅動手部的 VMC 可以同時運作。
朝向移動方向選項使形象以設定的旋轉速度平滑轉向行進方向,與是否指定了步行動畫無關;右搖桿的主動旋轉優先。行走狀態判定基於水平平面上的實際綜合位移(包含慣性減速階段),單純的高度變化不會觸發邁步。該系統屬於疊加在直接位移之上的純動畫表現,不包含導航尋路、碰撞偵測或複雜地形貼合。
控制器快速鍵
快速鍵錄製器同時用於自動化的鍵盤或控制器觸發條件與 虛擬形象快速鍵,可錄製同一支控制器上最多 3 個按鍵的組合。搖桿推到底的方向、十字鍵、扳機以及 PlayStation 觸控板按下都可以錄入。
- 錄製的快速鍵與所屬的控制器設定檔綁定,因此 1 號控制器與 2 號控制器上的同一個實體按鍵可以觸發不同的功能。錄製期間在其他控制器上按住的按鍵不會被錄入。
- 快速鍵在按下的瞬間觸發一次,長按不會重複觸發。
- 背景生效同樣適用於控制器快速鍵,且無需鍵盤修飾鍵。
- 錄製快速鍵或在輸入框中輸入文字時,快速鍵不會觸發,輸入事件也會被吞掉,因此關閉錄製器或離開輸入框時仍按住的按鍵不會延遲觸發。
1 號控制器的觸發巨集沿用 VTS 的 Controller* 標識體系,2 號及後續控制器採用 Persona 擴充的編號標識。控制器快速鍵不會註冊為作業系統級的全域快速鍵,且不支援控制器按鍵與鍵盤按鍵混按,亦不支援跨多支控制器組合。當不同模組設定了完全相同的按鍵組合時,自動化優先級高於虛擬形象快速鍵。
.persona.json 檔案以標準觸發字串格式儲存所有控制器快速鍵。對於使用 .vtube.json 的模型,帶編號的控制器快速鍵持久化儲存於快速鍵項目的 PersonaControllerTriggers 擴充欄位中,同時原生 VTS 觸發槽位會被清空,以避免 VTS 因讀取未知列舉值而回報錯誤。Persona 讀取時優先解析該擴充欄位;若將該快速鍵重新賦值為鍵盤或 1 號控制器按鍵,或徹底清空快速鍵,該擴充欄位將被自動移除。
VTS 本身無法辨識並執行這些帶編號的控制器快速鍵;若在 VTS 內部重新儲存該模型設定檔,可能導致自訂擴充欄位遺失。
最後更新於 2026年10月21日