Bonus:多媒體互動展演技術規劃:HDMI 傳輸距離、佈線與電力計算實戰|IVD487 W18
一場互動展演在現場能不能順跑,關鍵不在軟體,而在基礎設施。這篇以體感作品「地面鬥技場」為範例,一層一層把技術規劃圖填滿:USB 線材與速度、顯示三大類、投影機規格、HDMI 傳輸距離解法、影像分配、音訊 PA、網路協定、電力計算、佈線與遠端監控。附多張對照表與章節時間戳,規劃前掃一遍就能跟廠商對得上話。
TouchDesigner 進入 3D!這篇整理 SOP 節點家族的入門重點:工作區多視圖自訂、基本圖形與資料結構(Box 為何有 24 點)、渲染三套組(Geometry/Camera/Light/Render),以及程序式建模 Copy/Sweep/Skin/Facet,最後用 Pattern (CHOP) 與 CHOP to SOP 做出麻花捲與徑向發散。附節點速查表與章節時間戳,上完課回來掃一遍就能接回來。

SOP(Surface Operator),也就是 TouchDesigner 的 3D 世界。從最基本的方形、球形,一路到「複製、掃出、連面」堆出有機造型,核心觀念只有一句話:用基礎圖形當單位,跟著資料一步步長成你要的樣子。
Geometry Viewer 看 3D 大畫面,另一塊放 parameter 調參數,上面保留節點——邊操作邊看效果。調好喜歡的排版可以按下儲存(例如 layout1),它會跟著檔案一起存,切走再點一下就跳回來。現場表演即時控制也常用這招。📺 影片段落:0:49SOP 資料互動的前提,一樣是先打開節點的 viewer active,滑鼠移上去才能轉、平移、縮放:快捷鍵 | 功能 | 用途 |
H | fit 視窗 | 圖形縮太小、找不到時一鍵拉回置中 |
W | wireframe 邊框模式 | 清楚看到點、連線與構成面 |
I | 看資料統計 | point/primitive/vertex/polygon 的數量 |
I 會跳出一個關鍵疑問:一個 Box 明明長得方方正正,為什麼有 24 個點? 因為 Box (SOP) 每個面是由 4 個點構成,角落的點被相鄰的面重複計算,6 面 × 4 點 = 24。primitive(面)是 6,vertex(頂點)跟著面走也是 24。想更直觀,打開 viewer active → display options 勾點與法向量(normal,那些從面上長出來的箭頭),球形一看數字就很可怕。💡 primitive type 會改資料結構。同一顆Sphere (SOP),選mesh是整體一個面、選polygon點數不變但面與頂點會暴增。單純建模影響不大,但拿它當粒子或延伸資料點時,就會影響最後結果。
SOP 的基本圖形共用一組參數:radius/size/center/rotate,部分圖形多了 orientation(初始躺在哪個座標軸)、rows/columns(細緻度)。逐一補上最容易踩的坑:節點 | 一句話用途 | 最容易踩的坑 |
Box (SOP) | 方形(不是 cube) | 開 use division 切片後面會消失(點不足以構成面),變魔術方塊 |
Sphere (SOP) | 球形 | 點數多;變化主要跟連線方式有關 |
Torus (SOP) | 甜甜圈 | radius 放大縮小、另一參數調圈寬 |
Circle (SOP) | 3D 座標裡的 2D 圓 | 切分後記得把 arc type 改成 open arc,否則自動關成封閉 |
Rectangle (SOP) | 2D 方 | 不能切分,只有 4 點,建議改用 Grid |
Grid (SOP) | 平面 | 可調 rows/columns,比 Rectangle 好用 |
Tube (SOP) | 管狀(中空) | 第二個 tab 的 end caps 才能把上下蓋封起來 |
Line (SOP) | 一條線 | number of points 在起終點間差值,開點預覽才看得出來 |
TOP 家族的 Circle/Rectangle 幾乎一樣,可以互相對照。Tube 跟其他 3D 軟體一樣是中空的(由外圈點構成,裡面不是實心)。⚠️ Rectangle 很雞肋。 它跟 Grid 外觀都是平面,但 Rectangle 不能調切分點,後面想做變形還得多接節點。實務上優先選Grid (SOP)就對了。
基本圖形 (SOP) ──► Geometry (COMP) ─┐ ← 3D 資料容器 Camera (COMP) ──────────────────────┤ ← 鏡頭 Light (COMP) ───────────────────────┴─► Render (TOP) ──► 2D 畫面
Geometry (COMP):3D 資料的容器,把圖形丟進去準備渲染。想換圖形要進容器裡刪掉重建,再點開藍色小點才能被外部渲染。Camera (COMP) + Light (COMP):有鏡頭跟燈光,Render (TOP) 才知道要渲染成什麼樣子。燈光可疊加多盞,Light 裡還能各自調顏色(一側藍、一側紅做氣氛)。Render (TOP):輸出 2D 成果。Box (SOP) + Grid (SOP) 用 Merge (SOP) 疊在一起(Grid 記得放大、Box 稍微往上坐落在平面上)→ 進 Geometry (COMP) → 建 Camera、Light → Render (TOP)。⚠️ Render 的米字號要手動指定。Render (TOP)預設是米字號(*),會把場景裡所有同類節點全抓進來,畫面連一堆虛線。要指定特定的 Geometry/Camera/Light,第一個可以直接拉線,但第二個以後直接拉會取代掉前一個,得回到參數手動輸入節點名稱才能一起渲染。
⚠️ Geometry 一定要在連線狀態下建。 沒接著圖形就直接建Geometry (COMP),它會沒有 input/output 藍點,之後很麻煩。習慣先接著基本圖形再建 Geometry,它會自動幫你處理好容器裡的 In/Out。
⚠️ viewer 調不動 geometry。 打開 viewer active 後,拖曳只會改Camera與Light的角度,渲染畫面跟著變;但拖Geometry完全沒反應——那只是在轉你的觀察視角。要真的移動、旋轉物體本身,得回到Geometry (COMP)用參數調。
📺 影片段落:32:15節點 | 做什麼 | 重點 |
Copy (SOP) | 依來源圖形的每個點複製一份 | number of copies 可複製多次,每次帶位移/旋轉;點太多會當機 |
Skin (SOP) | 把一段段斷面連成面 | group of N primitives 控制每幾個斷面連成一節 |
Sweep (SOP) | 斷面沿路徑掃出 | 第二個 input 放路徑;第二個 tab 有 twist 可扭轉、scan output 連面 |
Facet (SOP) | low poly 風格 | 開 unique points + compute normal,每個面才明顯 |
Copy (SOP),來源資料放 Sphere (SOP),就會依球面上的點往外發散。要讓它真的由球心朝外,得在 base 與 Copy 之間插一個 Transform (SOP),把 rotate y 轉 90 度,方向才正。至於大量複製這種需求,下一週會用更有效率的做法——IVD487 W08|Instance 實例化,本週的 3D 圖形正是它的基礎。⚠️ Copy 接 Sphere 容易當機。Sphere (SOP)預設點數很多,直接丟進Copy複製會讓電腦卡死。先把 Sphere 的 primitive type 改成polygon降點,再連 Copy 就安全多了。
Noise (SOP) 接在圖形後面會讓它開始亂動,設定跟 Noise (CHOP) 幾乎一樣,可針對 point position(xyz 各自加噪)或 normal(法向量像毛一樣晃)。想先看變化量,也可以先用 Noise (CHOP) 看波形再回填數值。CHOP 的波形餵進 3D 圖形,讓直線變成波動的麻花捲。Rectangle (SOP) 當斷面 → Sweep (SOP),Line (SOP) 接第二個 input 當路徑(Line 的 number of points 拉高,例如 20 點才有段數)。Pattern (CHOP),選 sin 波。要讓每個點都動,得讓 Pattern 的 sample 數對齊 Line 的點數:對 Line 的 number of points 右鍵 copy parameter,貼到 Pattern 的 length 選 path reference,兩邊數量就同步了。Null (CHOP) 純粹整線。CHOP to SOP(SOP 家族),把 Null (CHOP) 拉進來當來源。CHOP to SOP:channel scope 用 chan1(波形資料);attribute scope 預設是 p0 p1 p2(position 的 x/y/z),只留 p1 讓它上下震盪,直線就變成曲線。Convert (SOP) 把 mesh 轉 polygon,再接 Facet (SOP)(unique points + compute normal)做 low poly,回頭把 Sweep 的 twist 帶一點旋轉——麻花捲成形。⚠️ Pattern 沒對齊點數,只有前段會動。 如果 Line 有 30 點但 Pattern 只有 15 個 sample,你會發現只有前 15 個點有變化,後面完全不動——因為沒有資料告訴它們 y 值要怎麼變。這就是要用 copy parameter 把兩邊數量綁死的原因。
⚠️ CHOP to SOP 的 p 是向量,會報錯。p一次帶 x/y/z 三個值,你只有一個 channel 卻想塞給整個p,數量對不上就報錯。指定成p1(只給 y 軸)才行。
MAT(材質)家族,最常用的是 Constant (MAT)——直接把顏色賦予圖形,拖進 Geometry (COMP) 的 render 頁面的 material 欄即可。Movie File In (TOP) ──► Constant (MAT) ──► Geometry (COMP) (香蕉圖) (color map 欄) (material 欄)
texture coordinate 有關。以 Box (SOP) 為例,回到 Box 把 texture coordinate 改成 face 或 box outside,每一面才會是完整的單獨圖片。渲染想要環境光,Light 選 Ambient Light (COMP) 就有均勻打光的感覺。📺 影片段落:55:11Box (SOP) 每個面由 4 個點構成,角落的點被相鄰的面重複計算,6 面 × 4 = 24。primitive(面)是 6、vertex(頂點)跟著面走也是 24。arc type 改成 open arc(或其他開放型態)。預設它會自動把線關成封閉連線,才顯示得出圖形。Geometry (COMP)。習慣先接著基本圖形再建,它會自動補好 In/Out;已經建成沒點的,就要進容器裡刪掉重建、點開藍點。Render (TOP) 的欄位是米字號(*)自動全抓。要指定多個,第一個可拉線,第二個以後直接拉會取代掉,得手動輸入節點名稱。p 是 x/y/z 的向量(一次三個值),你只有一個 channel 塞不進整個 p。指定成 p1(只給 y 軸)就正常了。Sphere (SOP) 預設點太多。先把 primitive type 改成 polygon 降點,再連 Copy (SOP)。Box (SOP) + Grid (SOP) 經 Merge 疊出「物體+地面」,接 Geometry (COMP),配 Camera 與兩盞不同顏色的 Light,最後 Render (TOP) 輸出。練熟四樣東西的接法與米字號指定。Rectangle (SOP) + Line (SOP) → Sweep (SOP),開 twist 扭轉、接 Facet 做 low poly,掃出一根麻花捲。Pattern (CHOP)(sin 波)+ CHOP to SOP(只給 p1)讓直線變波形,記得把 Pattern 的 length 用 copy parameter 綁上 Line 的 number of points,否則只有前段會動。Box (SOP) + Movie File In (TOP) → Constant (MAT) → Geometry,把 Box 的 texture coordinate 調成 box outside,讓每一面都是完整圖片。時間 | 內容 |
工作區 layout 自訂:多視圖與 Geometry Viewer | |
Houdini 與 TD 師出同源,核心邏輯相近 | |
SOP 介面操作:viewer active、H fit、W wireframe | |
按 I 看資料:Box 為何有 24 個點 | |
Box use division:切片後面會消失 | |
arc type:Circle/Rectangle 要開 open arc | |
Tube 的 end caps 與 Line 的點數 | |
Geometry (COMP):3D 資料容器 | |
Render (TOP) 與米字號指定 | |
Noise (SOP) 亂動 + Facet low poly | |
Box + Grid 打光渲染實作 | |
viewer 只調 camera/light,geometry 要用參數 | |
Copy (SOP):依來源點複製 | |
Skin (SOP):把斷面連成面 | |
Sweep (SOP) + twist 扭轉 | |
Pattern (CHOP) 綁 Line 點數 | |
CHOP to SOP 做麻花捲(只給 p1) | |
Convert + Facet 做 low poly | |
Copy + Sphere + Transform 徑向發散 | |
Constant (MAT) 上色與 Box 貼圖 |