TouchDesigner 輸出數值
- 啟動 TouchDesigner,沿用預設範本。
- 在預設內容的 Noise 後面連接 Rename CHOP 與 OSC Out CHOP。
- 點擊 Rename CHOP,調整 To 的參數為 a1,會把 Noise 產生的 chan1 重新命名為 a1。
- 點擊 OSC Out CHOP,將 Network Address 與 Network Port 屬性記錄下來,將用於 Unity 的接收設定。
Unity 安裝 OSC Jack 套件
- 開啟 Unity 專案 (2021.3 以上版本)。
- 點擊 Edit 開啟 Project Settings。
- 切換到 Package Manager。
- 於 Scoped Registries 中註冊一個套件來源,屬性內容如下。
- Name: Keijiro
- URL: https://registry.npmjs.com
- Scope(s): jp.keijiro
- 點擊 Save 儲存並關閉 Project Settings。
- 點擊 Window > Package Manager。
- 切換套件來源為 My Registries。
- 從列表中找到 OSC Jack,點擊 Install 進行安裝。
Unity 接收與顯示數值
- 於 Canvas 中建立 Text (Legacy) 物件,調整文字顏色與大小讓它明顯一些。
- 在 Assets 資料夾上滑鼠右鍵 > Create > ScriptableObjects > OSC Jack > Connection,建立 OscConnection 設定檔。
- 選取 OscConnection,將 Port 改成先前於 TouchDesigner 紀錄的設定。
- 建立空物件 GameManager,加入 OSC Jack 的 Event Receiver 腳本。
- 將 OscConnection 設定檔拖曳至 Connection 屬性。
- OSC Address 輸入「/a1」以接收 TouchDesigner 產生的 a1 數值。
- 修改 Data Type 為 String。
- 於 String Event 建立事件監聽,拖曳 Text (Legacy) 物件,並選擇 Dynamic string 內的 text。
執行測試
執行專案,TouchDesigner 產生的數值將能即時同步到 Unity 中。