您可以請求從 VTube Studio iPhone 應用程式接收追蹤資料。這些數據包括混合形狀、頭部旋轉、頭部位置等。透過 UDP 請求和發送資料。
VSeeFace 和 VBridger 等應用程式使用此功能。
您需要執行 VTube Studio 的 iPhone 或 iPad。確保"3rd Party PC Clients"
選項已開啟。它位於第一個設定選項卡的底部。這會在 iPhone 上啟動一個UDP 偵聽器,並且應用程式現在已準備好在您要求時透過本地網路向您發送資料。
您可以請求獲取最多 10 秒的發送追蹤資料。為此,請透過 UDP 將以下字串有效負載傳送至 iPhone(連接埠21412
或 iOS 應用程式中顯示的任何連接埠):
{
"messageType" : " iOSTrackingDataRequest " ,
"time" : 2.5 ,
"sentBy" : " MyApp " ,
"ports" : [ 11125 , 11126 ]
}
time
欄位告訴 iOS 應用程式發送資料需要多長時間。允許的值介於0.5 and 10
秒之間。確保每隔幾秒鐘重複發送此請求以繼續接收資料。例如,您可以每秒發送一個請求, time
設定為5
這樣追蹤資料就會不斷出現。完成後,只需停止發送請求即可。
當iOS應用程式收到此請求時,它將向發送請求的IP發送UDP封包。
資料將發送到您在請求中列出的端口,因此請確保您在這些端口上打開了UDP server
。您必須列出至少 1 個端口,最多可以列出 32 個端口。
sentBy
欄位應包含您的應用程式名稱,目前僅用於日誌記錄。它的長度必須在 1 到 64 個字元之間。
您將每幀收到以下資料(通常為 60 FPS,除非 iPhone 應用程式延遲):
有關確切有效負載的詳細資訊可以在此處找到: Payload Definition
將來可能會向此有效負載添加某些字段,因此請確保有效負載的反序列化程式碼在遇到未知字段時不會失敗。
所有混合形狀的詳細解釋可以在這裡找到: Apple iOS Blendshape Info
此儲存庫包含一個範例 Unity 項目,展示如何請求追蹤資料。
確保將VTubeStudioReceiveDataExample
元件中的<YOUR-IPHONE-IP-HERE>
替換為您的 iPhone/iPad 的 IP。如果無法連接,請檢查您的防火牆/防毒設定。
文件 | 描述 |
---|---|
VTSARKitBlendshape.cs | 包含所有 52 個 iOS 混合形狀的枚舉。 |
VTubeStudioUDPDataRequest.cs | 您必須傳送到 iOS 應用程式的請求的有效負載。 |
VTubeStudioRawTrackingData.cs | 您將從 iOS 應用程式收到包含追蹤資料等的有效負載。將來可能會向此有效負載添加某些字段,因此請確保有效負載的反序列化程式碼在遇到未知字段時不會失敗。 |
VTubeStudioBlendshapeDataReceiver.cs | 您可以在應用程式中使用該元件來請求數據,並在 iOS 應用程式收到新數據或按下螢幕熱鍵時收到通知。 |
Example/VTubeStudioReceiveDataExample.cs | 使用VTubeStudioBlendshapeDataReceiver 請求資料然後顯示資料的範例元件。 |