Touch Designer 直播挑戰 Vol.3|動態油畫筆刷系統
直播挑戰#3 課程筆記
課程概覽
本次直播旨在引導學員在 TouchDesigner(TD)的數位世界中,創造出具有浪漫動態油畫或水彩質感的視覺效果。課程將聚焦於筆刷系統的核心概念、基礎建構,以及如何利用 TD 的運算特性模擬傳統繪畫材料(如油畫、水彩)的有機筆觸與暈染效果。
- 核心目標: 實作一個基礎的動態筆刷系統,能夠在移動時留下軌跡,並逐漸產生有機的質感變化。
- 創作啟發: 創作者對傳統繪畫素材(油畫、水彩)的質感著迷,希望在數位世界中重現其動態繪製的感受,避免單純的純數位方塊感。
- 應用場景: 此筆刷系統曾用於 Tone Lab 的演出《夢境與孤寂的邊界》中,以聲音驅動筆刷的移動與繪製。
課程大綱 / Agenda
- 開場與近況分享:
- 問候與直播環境說明(東京連線)。
- 分享東京 MUTEK JP 及 TouchDesigner Tokyo 參會見聞與心得。
- 介紹台灣 TD 社群與資源現況(Touch Designer TW, C-LAB)。
- 核心概念:動態繪畫展示:
- 展示 TD 製作的水彩/油畫質感範例(模糊、混色、筆觸)。
- 展示本次實作的「有機筆刷」最終效果。
- 步驟教學:基礎筆刷系統建構:
- 建立畫布與筆刷頭。
- 用 Mouse In Chop 連結滑鼠控制。
- 利用 Feedback Top 實現軌跡累積。
- 調整 Level 參數模擬筆觸衰退。
- 使用 Filter Chop 處理滑鼠訊號以產生圓滑軌跡。
- 總結與未來展望:
- 探討如何將單一筆刷系統擴展至粒子系統(Particle System)應用。
- 回顧 TD Tokyo 見聞中得到的啟發,承諾未來分享更多細節。
💡 核心概念與理論
1. 視覺藝術材質的模擬
- 目標: 在數位運算環境中,模擬實體繪畫材料(如水彩的暈染、油畫的堆疊感)的有機感。
- 關鍵技巧: 結合 模糊(Blur)、混色(Blending)、軌跡累積(Feedback) 來模擬顏料在畫布上的物理特性。
2. Feedback 迴路原理 (軌跡生成)
- Feedback 迴路是 TD 中實現「過去」與「現在」畫面持續疊加的關鍵:
- 過去 (Feedback):儲存前一幀的畫面。
- 現在 (Moving Brush):當前幀移動的筆刷頭。
- 疊加 (Composite - Maximum):將過去的畫面和現在的筆刷頭疊加。
- 衰退 (Level Opacity):在將畫面送回 Feedback 之前,透過 Level Top 調整不透明度(Opacity/Gain,如 0.985),讓過去的軌跡逐漸變淡,模擬顏料的乾燥或衰退效果。
3. 訊號平滑處理
- 問題: 滑鼠輸入的訊號過於快速或跳躍,會導致軌跡出現明顯的斷點。
- 解決方案: 使用 Filter Chop 對輸入訊號(如 Mouse In)進行平滑處理,產生一個圓滑的曲線過渡到新的目標位置,避免軌跡生硬跳躍。
🛠️ 步驟教學(Step-by-Step):基礎筆刷系統
Step 1: 建立畫布與筆刷頭
- 建立畫布 (Constant Top)
- 新增一個 Constant Top。
- 設定解析度(如:2000 x 2000)。
- 設定背景的
Alpha值為 0 (透明)。
- 建立筆刷頭 (Circle Top)
- 新增一個 Circle Top。
- 新增一個 Transform Top,將 Circle 縮小(如
Scale設為 0.2),作為筆刷的刷頭。 - 將 Circle/Transform 的輸出連接到一個 Composite Top 的輸入 1。
Step 2: 連結滑鼠輸入 (Mouse In Chop)
- 新增滑鼠輸入
- 新增一個 Mouse In Chop。
- 此 Chop 會輸出滑鼠的 X/Y 座標。
- 綁定座標
- 將 Mouse In Chop 的
chan1(X 座標)拖曳到 Step 1 的 Transform Top 的TX參數上,選擇 Export Chop 或 Bind。 - 將 Mouse In Chop 的
chan2(Y 座標)拖曳到 Transform Top 的TY參數上,選擇 Export Chop 或 Bind。
- 將 Mouse In Chop 的
Step 3: 建立 Feedback 軌跡迴路
- 新增 Feedback
- 新增一個 Feedback Top。
- 將 Constant Top 的輸出連接到 Feedback Top。
- 連接 Composite
- Feedback Top 的輸出連接到 Composite Top 的輸入 2。
- 在 Composite Top 中,將
Operation設為 Maximum (實現畫面疊加)。
- 建立軌跡衰退 (Level Top)
- 新增一個 Level Top。
- 將 Composite Top 的輸出連接到 Level Top。
- 在 Level Top 參數中,調整
Opacity或Post頁籤下的Gain參數,設定一個接近 1 的值(如 0.99 或 0.985),使過去的軌跡緩慢變透明。
- 閉合迴路
- 將 Level Top 的輸出拖曳到 Feedback Top 的參數欄位中,形成一個迴路。
- (可選) 新增一個 RGB Key Top 在 Level Top 之後,以便將背景設定為黑色(使畫面顯示在背景中)。
Step 4: 平滑滑鼠訊號 (Filter Chop)
- 新增 Filter
- 新增一個 Filter Chop。
- 將 Mouse In Chop 的輸出連接到 Filter Chop。
- 調整 Filter
- 在 Filter Chop 參數中調整
Filter Width或其他濾波參數,使移動訊號更平滑。
- 在 Filter Chop 參數中調整
- 重新綁定
- 將 Filter Chop 的輸出重新綁定(取代 Mouse In Chop 的輸出)到 Step 2 的 Transform Top 的
TX/TY參數上。
- 將 Filter Chop 的輸出重新綁定(取代 Mouse In Chop 的輸出)到 Step 2 的 Transform Top 的
❓ 常見問題 & 解決方案
| 問題 (Q) | 解決方案 (A) |
|---|---|
| Q1: 筆刷移動太快時,軌跡中間出現****斷點。 | A: 使用 Filter Chop 平滑滑鼠輸入訊號,使座標點的移動過渡更圓滑,避免跳躍。 |
| Q2: 畫出的軌跡不會消失,填滿畫面。 | A: 檢查 Feedback 迴路中 Level Top 的 Opacity 或 Gain 參數,確保其數值小於 1(如 0.985),讓過去的畫面逐漸變透明。 |
| Q3: 筆刷只有單一圓形,不夠「有機」。 | A: 這是下一階段的進階目標。初步解決方案是: 1. 修改筆刷頭: 將 Circle Top 替換成更複雜的貼圖(例如噪波圖 Noise Top)或用 LFO Chop 驅動 Circle 的 Radius 或 Transform 的 Rotate 參數,使其形狀隨時間變化。 |
| Q4: 畫面出現白色的殘影或鬼影。 | A: 在 Level Top 的 Pre 頁籤下,稍微調整 Black Level 參數,將極低亮度的殘影設定為完全變黑,幫助畫面完全淡化。 |
🚀 練習任務
- 材質變化挑戰: 嘗試將 Circle Top 替換為 Noise Top(設定為黑白貼圖),並將其連接到 Transform,觀察筆刷頭產生有機紋理的變化。
- 顏色動態化: 在 Circle Top 之後或 Feedback 之後,加入 HSL Adjust Top,並用 LFO Chop 或 Audio In Chop 驅動
Hue參數,讓繪製出的線條顏色隨時間或聲音動態變化。 - 筆刷形狀控制: 嘗試用 LFO Chop 或 Keyboard In Chop 連結筆刷頭 Transform Top 的
Scale參數,實現筆刷大小的即時控制。
📝 總結
本次直播成功建構了一個基礎的動態筆刷系統,並強調了 Feedback 迴路在軌跡生成中的核心作用。
- Feedback 和 Level 是創造連續軌跡和視覺衰退的關鍵。
- Filter 讓數位輸入(滑鼠)的移動更具有機性。
通過這次的基礎建構,我們為未來的進階創作打下了堅實的基礎,例如將此單一筆刷系統應用到 Particle System (粒子系統),即可同時產生多個獨立移動的筆刷,達成更豐富、更複雜的動態油畫效果。
邀你一起學習!直播筆記專屬折扣碼「Live600」
輸入折扣碼「Live600」,即可享有600元的課程折扣,學員可享有:
- TouchDesigner 共學群組,有問題即可直接詢問哲宇老師
- 可不定期收到 TouchDesigner 小模組直播的製作素材包
- 小模組直播的許願池,會優先從TD共學群組的需求來教學
點擊連結進行報名,我們TD線上課相見囉!
