圖片來源:https://www.lib.ncsu.edu/events/creative-coding-touchdesigner?utm_source=chatgpt.com
情感計算 × TouchDesigner:把「情緒」可視化、交互化的技術之旅
在互動媒體、裝置藝術與新媒體設計領域,TouchDesigner 是常被使用的工具。它擅長即時圖像處理、多媒體合成、效果控制與互動連動。而情感計算(Affective AI / Emotion AI)則提供了另一維度:把人的內在情緒狀態(表情、腦電、心跳、聲音語調等)轉成可量化的數據。
若我們把它們結合:用情緒驅動視覺、聲音、光效或互動機制,作品將更有溫度與「對話感」。下面我就從理論架構、技術實作、挑戰與範例出發,帶你理解這條路該怎麼走。
下面是一些具體可操作的技術步驟與技巧(含參考案例):
TouchDesigner 內建有 Face Track CHOP,可連接 GPU 的 NVIDIA backend 來做臉部偵測與追蹤。你可以在 Face Track CHOP 設定接入攝影機的 TOP 輸入。
The Interactive & Immersive HQ
你可以啟用「landmarks」功能(如 68 個關鍵點)來捕捉嘴角、眉毛、眼睛開合等細節。
The Interactive & Immersive HQ
若你需要更進階或可跨平台的臉型 / 手勢辨識,可使用 MediaPipe TouchDesigner 插件(支援 Mac / Windows,不用額外安裝)來做即時 landmark、姿勢、手勢辨識等。
GitHub
小貼士:使用 Face Track CHOP 時,挑一張略微光源均衡的攝影機輸入會讓偵測更穩定;避免強逆光。
在 TouchDesigner 裡使用 Script TOP / Script CHOP 可以讓你寫 Python 程式,讀取影像 / 資料、呼叫外部模型(OpenCV、ONNX、TensorFlow、PyTorch 等),然後把輸出放回 TOP / CHOP。
在「Real-Time Magic: Integrating TouchDesigner and ONNX models」這篇示範中,就有人用 Script TOP + OpenCV + ONNX 在 TD 裡跑即時影像辨識。
Derivative
若模型依賴大量運算,你可以把模型執行放在外部程序(Python、Flask、Node.js)或 GPU 加速服務外掛,然後透過 OSC / TCP 傳情緒參數進入 TouchDesigner。
一旦你在 TD 拿到情緒通道(例如 happy, sad, surprise, neutral…),接下來就是設計互動邏輯:
用 Math CHOP / Range CHOP 調整數值範圍 → 驅動視覺參數(亮度、色彩、粒子擴散速度、顆粒密度、模糊強度等)
用 Rule / Logic / Trigger CHOP 設計臨界值與觸發條件(例如當 surprise > 0.8 時觸發一次閃光)
使用 粒子系統 / SOP / TOP / GLSL Shader 把變量串入效果中
可做緩動(lerp / 滤波 / 過渡)讓變化不突兀
這是一個藝術裝置,用 Emotiv INSIGHT EEG 裝置 拿腦波數據(像 Relaxation, Stress, Excitement)
他們用 OSC 把這些數據送進 TouchDesigner,對應到粒子系統的速度、發光強度、擴散等參數。
Derivative
當參與者壓力增高,畫面光線變刺眼、粒子擴散加快;如果放鬆則畫面趨穩、粒子收斂。
專案展示情緒不是用語言,而是用視覺語彙「看得見的情緒波動」。
概念:在展覽空間中設置一面「共振牆」,觀眾對牆前站立 → 相機捕捉臉部 → 辨識情緒 → 牆面動態視覺隨之「共鳴」展開。
感測端:Webcam + TouchDesigner Face Track CHOP
表情模型:用外部 Python / ONNX 輸出情緒分數
傳輸:OSC 傳入 TD
視覺:牆面做粒子 / 漩渦 / 光暈變化,隨 happy / sad / excitement 開關
互動:觀眾情緒變化會反過來影響場域氛圍與背景聲音
這樣的展示比單純臉部辨識更有「情緒共振」的感覺。
情感計算 + TouchDesigner 的結合,讓我們能把「看不見的情緒」化為「看得見的光影律動」,讓互動作品變得更具生命力。只要你掌握「數據 → 通訊 → 視覺映射」的流程與技術,再搭配好的 UI 設計與人感知考量,你就能打造出讓人會「被畫面讀懂」的體驗。