Touch Designer 直播挑戰 Vol.4|做出如夢似幻的黑夜星軌

直播挑戰#4 課程筆記
MONOLAB|藝術 x 科技 x 教育

MONOLAB|藝術 x 科技 x 教育

2025年12月3日 上午 3:17

TD直播課程筆記

課程概覽

  • 主題: TouchDesigner 黑夜星軌(星軌光譜與音訊連動視覺)
  • 目標: 拆解並實作一個能與音樂連動的星軌生成作品,並介紹 TouchDesigner 新功能 POPs。
  • 預期成果: 掌握 TOP 轉 SOP(Point Cloud)、Instance 複製、Feedback Loop 殘影、Color Remap 等核心技巧。

課程大綱 / Agenda

  1. 直播目的與 TouchDesigner 生態推廣。
  2. 「夢境與孤寂的邊界」表演案例介紹。
  3. 新工具 POPs (Particle Operators) 探索與心得分享。
  4. 星軌作品拆解與實作(核心概念)。
    • 製作星星(隨機座標與大小)。
    • 星星上色(恆星光譜 Color Remap)。
    • 星軌生成(Feedback Loop 與旋轉)。
    • 景觀營造(山脈與水波反射)。
  5. 每日創作挑戰流程分享(待後續直播)。

💡 核心概念與理論

概念說明實作元件
TOP 轉 SOP (Point Cloud)利用影像(TOP)的 RGB 數值作為 3D 空間中點(SOP)的 XYZ 座標,快速產生大量的隨機點。Noise TOP $\rightarrow$ Geometry COMP (Instance)
Instance 複製將單一 SOP 物件(如 Sphere)複製到每個點的位置,實現高效的粒子系統。Geometry COMP (Instance Tab)
恆星光譜根據恆星生命週期,利用顏色漸變(Color Ramp)為星星賦予不同溫度和階段的顏色。Ramp TOP $\rightarrow$ Lookup TOP
Feedback Loop創建一個迴路,將當前畫面疊加到上一幀的畫面上,產生軌跡、殘影或延遲效果。這是星軌形成的關鍵。Feedback TOP $\rightarrow$ Transform TOP $\rightarrow$ Composite TOP
POPs (Particle Operators)TouchDesigner 新功能,利用 GPU 大幅加速粒子運算,並允許將粒子的座標軌跡保留下來。POP Examples (論壇下載)

🛠️ 示範案例:POPs 探索 (08:06)

  • POPs 資源: TouchDesigner 論壇上的 POP Examples 包含最完整的示範檔案和 POP Guide
  • 如何學習: 打開 POP Guide,點選左側範例 (如 Copy, Extrude),然後點選左下角 Show Network,即可查看範例的網路結構、註解和步驟。
  • POPs 優勢: 每個點(粒子)可以視為一個資料包,儲存位置、顏色、速度等屬性,能利用 GPU 加速,實現百萬級粒子的即時運算,速度比舊方法快 10 倍以上

⚙️ 步驟教學(Step-by-Step)

步驟 1:製作星星的隨機座標與大小 (18:39)

  1. 設定星星數量:
    • 新增 Constant CHOP,命名參數為 star_size,設值為 50
  2. 生成隨機座標:
    • 新增 Noise TOP
    • Constant CHOPstar_size 參數拖曳至 Noise TOPResolutionxy 參數。
    • 結果: 得到 $50 \times 50 = 2500$ 個像素點(即 2500 顆星星的座標)。
    • 小技巧: 點擊 Noise TOP 並按右鍵,選擇 View as Point 或按快捷鍵 $\text{V}$,可切換成 3D 點雲預覽。

步驟 2:星星上色(恆星光譜)(27:18)

  1. 準備色彩對應圖:
    • 複製一個新的 Noise TOP,確保它與座標的 Noise TOP擁有不同的 Seed 值
    • Noise TOP 後接上一個 Lookup TOP
  2. 定義顏色漸層(光譜):
    • 新增 Ramp TOP 作為漸層輸入。
    • 調整 Ramp TOP 的顏色,模擬恆星光譜:
      • 左側(黑/低值): 藍色(代表高溫、年輕的藍巨星)。
      • 中間: 白色、黃色。
      • 右側(白/高值): 紅色(代表低溫、衰老的紅巨星)。
    • Ramp TOP 連接到 Lookup TOP 的第二個輸入端。
  3. 整理輸出:
    • Lookup TOP 後新增 Null TOP,命名為 NO_color

步驟 3:Instance 複製與渲染 (24:44)

  1. 準備幾何體:
    • 新增 Sphere SOP (球體)。
    • Sphere SOP 後新增 Transform SOP,調整 Uniform Scale0.001 或更小,以確保星星夠小。
    • Transform SOP 後新增 Geometry COMP
  2. 設定 Instance:
    • Geometry COMP 中,切換到 Instance 標籤。
    • 勾選 On
    • 將步驟 1 的座標 Noise TOP 拖曳至 Default Instance TOP 欄位。
    • Translate (位置):
      • $\text{Tx}$: r (Red channel $\rightarrow$ X 軸)
      • $\text{Ty}$: g (Green channel $\rightarrow$ Y 軸)
      • $\text{Tz}$: b (Blue channel $\rightarrow$ Z 軸)
    • Scale (大小):
      • $\text{Sx}, \text{Sy}, \text{Sz}$ 皆設定為 $\text{b}$ (Blue channel $\rightarrow$ 統一大小)
  3. 上色:
    • 切換到 Instance 2 標籤。
    • 將步驟 2 的顏色 NO_color 拖曳至 Default Instance TOP 欄位。
    • Color (顏色):
      • $\text{Cr}$: r
      • $\text{Cg}$: g
      • $\text{Cb}$: b
  4. 渲染設置:
    • 新增 Camera COMP
    • 新增 Constant Material,拖曳至 Geometry COMPMaterial 參數欄位。
    • 新增 Render TOP。設定 Resolution 為 $2000 \times 2000$ (圓圖,避免旋轉時被裁切)。
    • Geometry COMPCamera COMP 拖曳至 Render TOP 的對應參數。
    • 調整 Camera:
      • Camera COMPProjection 設為 Orthographic (無透視)。
      • 調整 View 參數,確保星星集中在畫面中心,且填滿。

步驟 4:星軌生成(Feedback Loop)(32:05)

  1. 添加旋轉:
    • Geometry COMP 後面加入 Transform SOP,用來旋轉星星。
    • Rotate 的 $\text{Ry}$ 參數中輸入動態表達式,使其隨時間旋轉: $$\text{absTime.seconds} \times 3$$
  2. 建立 Feedback 迴路:
    • 新增 Feedback TOP
    • 新增 Composite TOP
    • Render TOP 連接到 Composite TOP 的第一個輸入端(當前幀)。
    • Feedback TOP 連接到 Composite TOP 的第二個輸入端(過去幀)。
    • Composite TOPOperation 設為 MaximumAdd(讓光線疊加)。
  3. 引入殘影衰減:
    • Composite TOP 後新增 Level TOP
    • Level TOP 中,降低 Opacity(不透明度),例如設為 $0.98$,使上一幀的影像在疊加時輕微衰減,形成拖尾軌跡。
  4. 完成迴路:
    • Level TOP 連接回 Feedback TOP 的輸入端。
  5. 啟動 Feedback:
    • Feedback TOP 上右鍵點擊 Pulse $\rightarrow$ Reset(或按下快捷鍵 $0$),啟動迴路。

步驟 5:整合音樂連動 (15:38)

  • 原理: 將音訊分析結果(例如頻率強度或振幅)映射到旋轉的 $\text{Ry}$ 參數,或 Feedback loop 中的 Level TOPOpacity / Brightness,實現視覺與聽覺的連動。

❓ 常見問題 & 解決方案

問題解決方案
星星太密集/形狀太規律調整 Noise TOP 參數:增加 Period(週期)會使同色星星聚集;減少則會更散落。同時調整 Seed 值。
Feedback Loop 沒有作用檢查 Feedback TOP 是否已經 Reset (Pulse) 啟動。檢查 Composite TOPOperation 是否為 MaximumAdd
旋轉時畫面被裁切調整 Render TOP 的 Resolution,例如設為 $2000 \times 2000$ 確保有足夠的圓形空間,或在 Camera COMP 調整 View 參數。
星星亮度太高/爆掉在音訊分析連動的參數上加入 Limit CHOP,設定一個上限(Ceiling),避免音量過大時視覺效果失控。

🚀 練習任務

  1. 嘗試將 Noise TOP 的 $\text{Tz}$ (Z 軸) 座標範圍增大,觀察星星在 3D 空間中的分布變化。
  2. Ramp TOP 的顏色改為其他漸層,例如冷色調或單一顏色,模擬不同風格的星空。
  3. 嘗試將音訊分析的 CHOP 輸出,映射到 Feedback TOP 後的 Level TOPBrightness 參數,讓聲音越大,殘影越亮。

💡 總結

本課程成功拆解並實作了基於 TouchDesigner 的黑夜星軌效果。核心技術在於利用 TOP 的 RGB 數據作為 3D 座標Instance 複製大量星星,以及利用 Feedback Loop 結合旋轉創造出動態的星軌光跡。同時,課程也前瞻性地介紹了新的高效能粒子系統 POPs,為未來的複雜視覺創作提供了新的工具。

邀你一起學習!直播筆記專屬折扣碼「Live600」

輸入折扣碼「Live600」,即可享有600元的課程折扣,學員可享有:

  • TouchDesigner 共學群組,有問題即可直接詢問哲宇老師
  • 可不定期收到 TouchDesigner 小模組直播的製作素材包
  • 小模組直播的許願池,會優先從TD共學群組的需求來教學

點擊連結進行報名,我們TD線上課相見囉!