---
title: "Touch Designer 直播挑戰 Vol.5｜用TD結合POPs系統製作跳舞海膽"
slug: livestream05
url: https://education.monolab.world/posts/livestream05
published_at: 2025-12-08
modified_at: 2025-12-08
author: "MONOLAB｜藝術 x 科技 x 教育"
category: "TD直播課程筆記"
access: public_access
---

# Touch Designer 直播挑戰 Vol.5｜用TD結合POPs系統製作跳舞海膽

> 直播挑戰#5 課程筆記

By **MONOLAB｜藝術 x 科技 x 教育** - 跨領域互動設計與藝術實驗室 | 2025-12-08

課程概覽 (Course Overview)主題： 使用 TouchDesigner 的 POPs (Point Operators) 功能，製作 Keyang 海膽（一種多刺球體）的動態幾何視覺藝術作品。目標： 拆解複雜作品的製作思路，掌握 POPs 的基本概念與應用，學習如何將點資料轉換為複雜的幾何圖形（如錐體觸手），並在球體上進行複製與定位。關鍵技術： POPs 運算、Line Mattresses 取得線條方向、Lookup Channel 數據映射、Copy 複製幾何體、Skin 連接輪廓，以及基本的 3D 渲染設置（燈光、材質、SSAO）。資源： 官方 POPs 範例資料夾 (POPs example)、課程網站 (education.monolab.word)。 課程大綱 / Agenda 🗓️開場與近況分享 (00:00:04 - 00:01:22)問候與暖場，確認音訊正常。介紹 Stream Deck (直播控制小工具)。作品與理念分享 (00:02:44 - 00:11:28)分享近期每日/每週 TD 創作挑戰的成果。介紹靈感來源：喇叭星球 (Planet of Trumpets)、P5.js 外星生物、Noise + Particle 軌跡、音像互動實驗（如彩虹/筆跡的量化音色變化）、Lofi 車窗、聖誕樹等。分享累積的 TD 模組：Allbow Controller、攝影棚燈光組、Easing (E-Sync) 緩動函數、LUT 電影上色、Motion Blur、色彩管理、音訊分析等。核心概念：POPs 介紹 (00:11:28 - 00:16:00)為什麼要用 POPs？示範案例與步驟教學：製作海膽 (00:16:00 - 00:30:00)步驟一：建立單隻海膽觸手 (單根錐體)。步驟二：複製觸手至球體表面。步驟三：3D 渲染與後製設定。核心概念與理論 ✨1. 什麼是 POPs (Point Operators)? (00:14:33 - 00:15:54)定義： TouchDesigner 推出的一種新的 Operator 類型，即 Point Operator。重要性： 它將所有運算以 點 (Point) 為單位進行資料紀錄和操作，極大地優化了粒子和大量幾何體複製的效能和操作性。與傳統 TD/Shader 的差異：POPs 之前： 需要撰寫複雜的 GLSL shader code，以 Pixel（像素） 為單位來組合數值，記錄點的位置、速度、顏色等屬性，過程繁瑣且難以維護。POPs 之後： TD 官方將點的屬性（如位置 P、速度 V、法線 N 等）模組化，使用者可以直接透過 POPs Operator 以點為單位來操作資料，取代手動寫 Shader 的過程，大幅降低門檻。核心思路： 一個點點 (Point) 儲存一個資料包，方便針對單個物件進行操作與組合。2. 製作海膽的幾何體思路 (00:12:27 - 00:13:40)製作一隻海膽觸手（圓錐體）的過程是將抽象的資料（點的位置和大小）具象化為幾何圖形：步驟幾何概念說明TouchDesigner Operator1. 曲線定義一條線（軸線）決定觸手的路徑/形狀。Pattern CHOP $\rightarrow$ Chop to POP2. 半徑定義沿線的圓圈群決定觸手各點的半徑大小（粗 $\rightarrow$ 細）。Pattern CHOP (Ramp) $\rightarrow$ Lookup Channel POP3. 複製與定位圓圈沿線複製沿著軸線上的每個點，複製一個具有指定半徑的圓圈，並使其朝向線的方向。Circle SOP $\rightarrow$ Copy POP4. 連接表面表面連皮將所有圓圈的外緣連續連接起來，形成一個有表面的圓錐體。Skin SOP示範案例與步驟教學（Step-by-Step）▶️步驟一：製作單隻海膽觸手（錐體）(00:16:00 - 00:26:18)1. 建立觸手軸線與點資料 (POPs)新增一個 Pattern CHOP (00:17:41) 作為觸手的形狀（軸線的 Y 值變動）。可調整 Taper 和 Face 參數使其看起來更「有機」。將 Pattern CHOP 轉換為 POPs 點資料：Chop to POP。在 Chop to POP 參數設定中，將 Channel Scope 設為 chan1，Attribute Scope 設為 P.Y (點的位置 Y 軸)，將 CHOP 的值灌入點的位置資訊。設定 Range：Start 為 0，End 可設為 1 或 2，控制觸手的長度。2. 確定圓圈的旋轉方向 (Tangent)在 Chop to POP 之後，新增 Line Mattresses POP (00:21:09)。目的： 取得線段上每個點的 法向量 (Tangent)，即該點的行進方向。這是確保圓圈能沿著曲線正確對齊的關鍵。在 Line Mattresses 中，我們主要使用其輸出的 Tangent 屬性。3. 定義觸手的半徑 (Scale) 變化新增一個 Pattern CHOP (00:23:11) (Pattern 2) 作為半徑（Scale）的變化曲線。將 Type 設為 Ramp (坡道)，並勾選 Reverse (反轉) $\rightarrow$ 數值從 1 變化到 0，代表從粗到細。新增 Lookup Channel POP (00:23:59)。Input 1 (Value to Lookup): 連接 Chop to POP 輸出。Input 2 (Channel Table): 連接 Pattern CHOP 2 輸出。參數設定：Lookup Index (取值依據)：選擇 Point U (點在線段上的索引值，0 到 1 之間)。Output Attribute (輸出屬性)：選擇 Scale。結果： 將 Pattern 2 的值映射到軸線上的每個點，建立每個點的半徑 (Scale) 屬性。4. 複製圓圈並連成錐體新增一個 Circle SOP (00:19:40) 作為要被複製的幾何體。調整 Orientation 至 $YZ Plane$ (00:20:48)，確保圓圈垂直於線段在 $X$ 軸上的延伸方向。調整 Radius 使圓圈足夠小。新增 Copy POP (00:19:43)。Input 1 (Geometry to Copy): 連接 Circle SOP。Input 2 (Template): 連接 Lookup Channel POP 輸出。參數設定：Template Scale： 勾選，並選擇 Scale 屬性 $\rightarrow$ 將上一步計算的半徑應用到每個複製的圓圈上。Template Rotate to Vector： 勾選，並選擇 Tangent 屬性 (來自 Line Mattresses) $\rightarrow$ 使圓圈沿著軸線曲線的方向旋轉。Force Direction： 設為 $Positive X$ $\rightarrow$ 確保圓圈的法線對齊軸線的方向。新增 Skin SOP (00:20:38)。連接 Copy POP 輸出 $\rightarrow$ 連接所有圓圈的外緣，形成一個連續的錐體。新增 Normal SOP (00:25:56)。連接 Skin SOP 輸出 $\rightarrow$ 修正幾何體表面的法線，確保 3D 渲染時上色和光影效果正常。步驟二：複製觸手至球體表面 (00:26:18 - 00:30:00)新增一個 Sphere POP (00:26:18)。目的： 作為海膽的主體，提供複製觸手所需的點位和法線。可調整 Frequency 參數，控制球體上的點數（即觸手的數量）。可調整 Radius 控制海膽主體的大小。新增 Copy POP (00:27:14) (Copy 2)。Input 1 (Geometry to Copy): 連接 Normal SOP 輸出（單隻觸手）。Input 2 (Template): 連接 Sphere POP 輸出（球體點位）。參數設定：Template Rotate to Vector： 勾選，並選擇 N (Normal，法向量) 屬性 $\rightarrow$ 確保每隻觸手都朝向球體的正切方向（即球體表面外側）。新增 Geo COMP (00:28:14) (Geometry) $\rightarrow$ 將完成複製的觸手群轉換為可渲染的 3D 物件。常見問題 & 解決方案 💡問題 (FAQ)原因與解決方案 (Solution)關鍵 Operator複製出的圓圈方向錯誤，Skin 連接失敗圓圈幾何體的軸向與線段的軸向不匹配，或是 Copy 時旋轉方向錯誤。Circle SOP ($YZ$ Plane) $\rightarrow$ Copy POP (Template Rotate to Vector 設為 Tangent，Force Direction 設為 $+X$)Skin SOP 渲染結果光影不正常幾何體的表面法線 (Normal) 缺失或錯誤，導致光線計算錯誤。Normal SOP (在 Skin 之後加入)無法調整觸手從粗到細的漸變缺少將 Pattern 數值 $\rightarrow$ 點索引 $\rightarrow$ 輸出為 Scale 屬性的步驟。Lookup Channel POP (以 $Point U$ 為索引，輸出 $Scale$)觸手數量過多或過少球體上的點數 (Vertex/Point) 決定了複製的次數。Sphere POP (Frequency 參數)動畫看起來死板不自然缺少非線性的緩動 (Easing) 函數。應用 E-Sync (Easing) 函數模組。練習任務 ✍️改變觸手形狀： 嘗試調整 Pattern CHOP 1 的參數 (如 Frequency、Phase、Amplitude)，創造出波動、扭曲或螺旋狀的觸手。改變半徑漸變： 調整 Pattern CHOP 2 的 Type（例如從 Ramp 換成 Sine 或 Gaussian），使觸手的粗細變化呈現不同的曲線。材質與動態：為海膽加上 PBR Material，使其具有金屬或玻璃質感。利用 Noise CHOP 連結到 Pattern CHOP 1 的參數上，使海膽的觸手能夠動態生長或扭動。總結 🚀POPs 是 TouchDesigner 中處理大量點資料和粒子系統的強大新工具，能大幅提升幾何體操作的效率和複雜度。製作複雜的幾何體（如海膽觸手）的核心在於將 CHOPs（數值資料）巧妙地映射到 POPs（點屬性：位置 $P$、方向 $Tangent$、大小 $Scale$），再利用 Copy 和 Skin SOPs 進行具象化。透過重複利用功能模組（如 3D 燈光/攝影機組、Easing 函數），能顯著加快未來的創作速度。
