TouchDesigner 即時 Motion Graphic 全攻略:Displace 置換與 absTime 動態|IVD487 W05

這週把 TouchDesigner 拿來做即時 Motion Graphic:三種輸出方式、用 absTime 一行程式碼驅動動態、Ramp 四種漸層、Lookup 等同 LUT 上色,再用 Displace 做切片與水波文字。附節點速查表、輸出方式對照表與章節時間戳,上完課回來掃一遍就能接回流程。

Apr 13, 2026
🧰 TouchDesigner 工具庫 | Luxmin Institute on Patreon
我們把接案與展場現場累積下來的 TouchDesigner 元件、專案檔與製作系統,整理發佈在 Patreon,部分工具與 Demo 免費開放下載。
https://www.patreon.com/cw/LuxminInstitute
⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑

TouchDesigner 即時 Motion Graphic 全攻略:Displace 置換與 absTime 動態

前幾週把 TOP 影像處理與 CHOP 訊號都走過一輪(上週 W04 講的就是用 CHOP 綁參數),這一週把它們拼起來,聚焦一件事:用 TouchDesigner 做即時 Motion Graphic——怎麼把畫面輸出成檔案、怎麼讓數值自己跑起來,再用文字、位移、上色做出會動的視覺。
關鍵心法先講:TD 的動態不是拉 keyframe,而是把圖形拆成獨立部件,再用數值去驅動它的位移與旋轉。這週好幾個新節點單獨看都平平無奇,一旦組起來就變切片、水波、融化。這篇是重點整理,上完課回來掃一遍就能把流程接回來。
讀完這篇你會知道:
  • 三種輸出方式(存圖、存影片、即時錄製)差在哪、各自的坑
  • 怎麼用 absTime 一行程式碼做持續累加的動態,還能控制速度與循環
  • Text (TOP) 為什麼不能換行,得搭 Text (DAT)
  • Ramp 四種漸層、Lookup 等同 LUT 的上色概念
  • Displace 怎麼用「顏色」當位移量,做出切片與水波文字
  • Motion Graphic 心法:單一 Math (CHOP) 同時控制多個 Transform
Video preview

一、三種輸出方式:存圖、存影片、即時錄製

先解決「TD 到底怎麼把畫面存出來」。三種方式,看場合選。
方式
怎麼叫出
存什麼
重點與坑
右鍵 Save Image
任何 TOP 上右鍵 → Save Image
單張圖
最快,但只能存 TIFF(TD 預設格式)
File > Export Movie
選單 File → Export Movie
影片
有渲染介面;影像與聲音分開接(聲音另接 Audio File In (CHOP)),可設解析度/frame rate/codec
Movie File Out (TOP)
建節點,接上畫面
圖或影片
最靈活,type 選 image/movie;圖片用 PNG 可帶 alpha 透明;影片常用 h.264
Movie File Out (TOP) 是即時作品最方便的:按下 record 就開始錄,你想什麼時候停就停——很適合錄即時互動畫面。
⚠️ 兩個常忘的點: Save Image 只吐 TIFF,要別的格式改用 Movie File Out (TOP)。而 Movie File Out (TOP) 按下 record 會一直錄到你手動關掉,別忘了停。
📺 影片段落:2:463:355:45

二、absTime:一行程式碼做持續動態

這週的核心工具。以前要讓東西持續旋轉,得多接一個 LFO (CHOP) 設 ramp 到 ±360 再綁進去。現在有更快的:直接在任何數值欄位輸入一小串程式碼。
  • absTime.seconds:檔案一開啟就持續累加的秒數。
  • absTime.frame:改用 frame 計算,數字大很多(1 秒 = 60 frame),跑得快。
用法: 點欄位左側的藍色小框切成運算式,輸入 absTime.seconds注意 absTime 的 t 是大寫)。例如填進 Transform (TOP) 的 rotate,圖就會持續轉。
控制速度與循環: 後面直接用數學。想快十倍就 absTime.seconds * 10;角度想循環就 % 360(對 360 取餘數)。好處是不必額外拉節點,任何要「持續變化」的地方都能塞。
📺 影片段落:8:0310:16

三、Text 家族:TOP 放字、DAT 控換行

Text (TOP) 把文字放進影像網路,中英文都能打,字型、字距(tracking)、行距這些跟一般軟體差不多。但有個關鍵限制:
  • Text (TOP) 沒辦法直接 enter 換行。 打太長會被左右 cut 掉;打開 Word Wrap 只會在超出畫框時自動折,你控制不了折在哪。
  • 想精準控制換行,就搭 Text (DAT):在 DAT 裡像記事本一樣自由編輯、換行,再把 DAT 拉進 Text (TOP) 的輸入即可(記得清掉 TOP 自己那串預設文字)。
  • 字型無法預覽,得先知道字型名稱;非英文字型名不好找。另外 Text 的 border color 指的是整個畫布邊框,不是文字外框。
⚠️ 要換行就上 DAT。 Text (TOP) 打不了 enter 是常見卡點,需要多行文字一律 Text (DAT) 編好再丟進來。
📺 影片段落:12:5714:12

四、Ramp:四種漸層一次看懂

Ramp (TOP) 專門做漸層,點上色標可插點、調色、換插值方式(太硬就切 ease in/out 或 hermite 讓過渡柔一點)。重點是它有四種形式,配 phase/period 變化極大:
Type
樣子
配 phase/period 能做出
Horizontal
橫向漸層
直條紋、跑動色帶
Vertical
縱向漸層
上下漸變
Radial
像雷達圖的放射
period 調密 → 超多光芒;phase 動 → 旋轉
Circular
以中心為圓心的同心圓
往內外收縮;phase 動 → 催眠漩渦
period 讓漸層區間變小、重複更多次(要搭 extend 設 repeat 才會不斷延伸);phase 是位移量,填 absTime.seconds 就會自己流動或旋轉。
💡 刪色標要往上拉移除,別直接按 delete——那會把整個節點刪掉。
📺 影片段落:18:14

五、Lookup:等同攝影 LUT 的上色

修過攝影就懂 LUT(Lookup Table)——Lookup (TOP) 就是同一個概念,做顏色的 remap
  • 第一個輸入放來源圖(例如黑白色階),第二個輸入放一張漸層(Ramp)。
  • 它會把來源的黑階對應到漸層最左、白階對應到最右,中間逐步過渡。右側的 Dark UV/Light UV 控制黑階與白階各自對到漸層的哪個位置(預設 0 與 1,也就是最左與最右)。
一句話:用一張漸層當調色盤,把畫面的明暗重新上色。 等一下的切片文字與水波文字都靠它上色。
📺 影片段落:22:17

六、Noise 與 Displace:用顏色驅動位移

Noise (TOP) 是圖學常客(雲霧、流體的底圖)。幾種隨機演算法看順眼的挑就好;scale 放大變大斑點、縮小像舊電視雜訊。兩個要記住的:
  • 預設是 monochrome(黑白),想要彩色噪點把它關掉。
  • 第二個 tab 的 transform 能位移整張 noise,z 軸填 absTime 就會持續翻動——後面的水波就是這樣讓噪點流動的。
Displace (TOP) 跟 Lookup 是好對照:Lookup 用第二張圖置換顏色,Displace 用第二張圖的顏色當位移量
  • 第一輸入放來源圖,第二輸入放變化圖。
  • 預設下 R 通道讓畫面橫向位移、G 通道讓畫面縱向位移(藍色不動)。所以拿一張彩色 noise 當第二輸入,來源就會依噪點的 R/G 亂抖、產生波紋。
⚠️ Displace 預設數值太高,一接上畫面就爆掉。把 displace weight 降到約 0.1(或 0.05)畫面才會回到框裡。
📺 影片段落:24:2827:30

七、兩個實戰組合:文字切片與水波文字

把上面幾個節點串起來,就是這週最有成就感的兩個案例。
A. 切片文字(Ramp + Displace + Lookup + HSV)
  1. Text (TOP) 打一個字(例如 R)放大,接 Ramp (TOP)Displace (TOP) 第二輸入,displace weight 降到 0.1。
  2. Ramp 用紅色系、把 period 調小 → 文字被切成好幾片(R 通道橫向位移的效果)。
  3. Lookup (TOP),第二輸入另接一張 Ramp 當調色盤上色。
  4. HSV Adjust (TOP),在 hue offset 填 absTime.seconds * 100 % 360 → 顏色持續循環變色。Ramp 的 phase 也塞 absTime.seconds * 0.2 讓切片慢慢流動。
⚠️ HSV 的 hue offset 最大 360,超過會卡在數字不動。記得加 % 360 讓它在 0~360 循環。
B. 水波文字(Noise 取代切片 Ramp)
同一套骨架,把 Displace 前面的 Ramp 換成 Noise (TOP),displace weight 約 0.05;Lookup 的調色盤換成淺藍 Ramp。再把文字與噪點用 Composite (TOP)(over)疊起、加 Level (TOP) 壓暗一點,最後在 noise 的 tx/ty 填 -absTime.seconds * 0.2 → 水波往下流。想做「融化」感,就設法讓只有下半部有 noise、上半部保持黑(黑不位移),水波往下流就像下半部在融化。
📺 影片段落:29:4133:1835:3240:29

八、CHOP 平滑:Filter 與 Lag

動態如果直接吃感測器或 Mouse In (CHOP) 的數值,會很硬、還會亂跳。兩個 CHOP 專門做平滑:
  • Filter (CHOP):平滑幅度大、變化很平緩,帶一點延遲。filter width 拉高 → 更平緩(要等更久才跟上)。
  • Lag (CHOP):一樣平滑,但動態感多一點——移動瞬間會稍微加速再減緩(像 ease out)。可分別設數值上升/下降的延遲,甚至加 overshoot 做「過彈」的彈力感。
實體感測器數值容易亂跳,中間插一顆 Filter 或 Lag,視覺會自然很多。
📺 影片段落:42:14

九、Motion Graphic 心法:單一 Math 控多個 Transform

TD 做 Motion Graphic 的通則:拆成獨立部件,全部用數值去驅動位移與旋轉。 示範是五顆圓:
  1. Circle (TOP) 佈成五顆,各接 Constant (TOP) 上色,Composite (TOP)(over)疊在深藍底+半透明 Noise (TOP) 上。
  2. 動態源:LFO (CHOP)square(方波)Lag (CHOP)(平滑方波的硬切)→ Math (CHOP)
  3. 先手動試出圖形要移動到的位置(例如 0.2),把 Math 的 range 設成對應區間(±0.1,再在綁定處各自 21…)。
  4. 把同一串綁定貼到五個 Transform 上,只改倍率 → 一顆 Math 就同時控制五個 Transform 的移動幅度,之後只要調 LFO 週期或 Math 一個數值,五個一起變。
同樣手法把綁定從位移改成 rotate,各乘不同倍率,就變成一圈圈轉的「圓餅圖」效果。要點永遠一樣:拆件、用數值控制。
📺 影片段落:49:27

十、Pattern:Layout/Tile 與跑馬燈

最後兩個做重複排列(pattern)的節點:
  • Layout (TOP):把多張 TOP 自動排列,可左到右、上到下,或設格子 2×2、3×3 往下累加。
  • Tile (TOP):把單張圖直接變 2×2 拼貼。repeat x/y 控制數量。
  • Transform (TOP) 的 Tile 頁:也能做 repeat,但要把 scale 縮小、讓圖小於畫布,周圍的重複圖才會出現。
跑馬燈: Transform (TOP) 的 Tile 設 repeat,再把 translate 填 absTime.seconds,圖就會一直往一個方向跑——文字跑馬燈就是這樣做的。想做拼貼牆延伸看 Pixel Art:Limit / Resolution TOP 一起服用。
⚠️ Tile 的 repeat 不能大於 2(很反直覺)。要超過 2×2,得回到前一個節點用 Crop:把 crop left 調成小於 0、crop right 大於 1(超出畫面),再把 extend 設成 repeat,就能無限複製。
📺 影片段落:59:341:03:11

常見問題 FAQ

Q1:TD 要怎麼把畫面輸出成檔案?三種方式差在哪?
右鍵 Save Image 存單張圖但只能 TIFF;File > Export Movie 走渲染介面存影片(影像與聲音分開接);Movie File Out (TOP) 最靈活,圖可帶 PNG alpha、影片可即時錄製,錄即時互動最方便。
Q2:absTime.seconds 填進去沒反應?
先確認 absTimet 是大寫,且欄位切成運算式模式(點左側藍框)。想快就在後面 * 10;角度要循環用 % 360;想更細用 absTime.frame
Q3:Text (TOP) 打字沒辦法換行怎麼辦?
它本來就不能 enter 換行,超長會被 cut。需要控制換行就用 Text (DAT) 編好文字,再拉進 Text (TOP) 的輸入。
Q4:Displace 一接上去畫面就整個亂掉?
displace weight 預設太高。降到約 0.1(或 0.05)畫面就會回來。記住 R 通道橫移、G 通道縱移,藍色不動。
Q5:HSV 的 hue 轉一轉就卡住不動?
hue offset 最大值 360,absTime 累加超過就卡住。在後面加 % 360 對 360 取餘數,就會在 0~360 循環變色。
Q6:Tile 想排超過 2×2 卻排不出來?
Tile 的 repeat 上限是 2。要更多就回前一個節點用 Crop:crop left < 0 或 crop right > 1,再把 extend 設 repeat,即可無限延伸。

課後練習

  1. 三種輸出各試一次。 同一個畫面分別用 Save Image、Export Movie、Movie File Out (TOP) 輸出;用 Movie File Out 錄一張帶 alpha 的 PNG 與一段 h.264 影片。
  2. absTime 動態。Ramp (TOP) 的 circular/radial,把 phase 填 absTime.seconds 做旋轉漩渦;或在 Transform (TOP) 的 rotate 填 absTime.frame,再用 倍率% 360 控速度與循環。
  3. 置換文字。 照第七節做切片文字或水波文字:TextRampNoiseDisplace(weight ≈ 0.1)→ Lookup 上色 → HSV Adjust(hue offset 用 % 360)。
  4. 本週作業:動態海報。 拆成獨立部件,用單一 Math (CHOP) 配倍率同時驅動多個 Transform;配 LFO (CHOP) square + Lag (CHOP) 做方波動態,可再用 Tile (TOP)Transform repeat 做 pattern/跑馬燈。客製的調色盤節點可用 Ramp 替代。

影片章節

時間
內容
右鍵 Save Image 存圖(僅 TIFF)
File > Export Movie:影像與聲音分開接
Movie File Out (TOP):即時錄圖錄影、PNG alpha
absTime.seconds/absTime.frame 持續累加
在 Transform rotate 填 absTime 做旋轉
Text (TOP):放字、字距、行距
Text (DAT) 控制換行
Ramp:四種漸層+phase/period
Lookup:等同 LUT 的顏色 remap
Noise (TOP):monochrome 關掉出彩色
Displace:R 通道橫移、G 通道縱移
案例:文字+Ramp+Displace 切片
HSV hue offset+% 360 循環變色
案例:Noise 水波文字
在 noise tx/ty 填 absTime 讓水波流動
Filter/Lag:數值平滑與過彈 overshoot
LFO(square)+Lag+Math 控制五顆圓
Layout/Tile 做 pattern
Transform repeat+absTime 做跑馬燈
 
⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑
Luxmin Institute (互動研究院) on Patreon
教學講的是觀念,工具則是我們在真實展場裡跑過、改過、確定能用的東西。TD 元件、專案檔、校正與製作流程都陸續發佈在 Patreon 上,免費層可以先看 Demo 與公開工具,付費層取得完整檔案與更新:
https://www.patreon.com/cw/LuxminInstitute
最新的活動動態與報名資訊:
https://www.threads.com/@luxmin.institute
 
如有相關專案或其他需求,請洽 luxmin.art