TouchDesigner 儲存資料教學:Local Variable、Modules 與 Storage 實用技巧

深入解析在 TouchDesigner 中使用本地變數(Local Variables)、模組(Modules)與儲存(Storage)三種資料儲存方法,教你如何透過 var、mod、store()、fetch() 撰寫清晰、可維護的互動邏輯。

May 15, 2020
我們開課囉!
本月開設課程 TD101 (TouchDesigner 101 - Intro, TD 入門介紹) 以及 IAI-01 (AI 工作坊 - StreamDiffusionTD 入門操作),歡迎報名參加~

⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑
如何使用 Local Variable、Modules 與 Storage 來儲存資料。
感謝 Ragan 老師製作了一部非常清楚的教學影片,教我們如何使用Local Variable、Modules 與 Storage
如果您偏好觀看影片教學,請點擊以下連結:
如果您準備好閱讀文字版教學,讓我們開始吧。

關鍵詞介紹

首先,我們需要了解 TouchDesigner 中的一些關鍵詞。

運算元名稱:

  • local
  • variables(位於 local 內部)
  • modules(位於 local 內部)

程式:

  • var
  • mod
  • store()
  • fetch()
別擔心,我們將詳細介紹每一個。

Local Variables(本地變數)

這是一種使用 Local Variables 的方法。(如果您在跟目錄創建它,幾乎就像全域變數。)
步驟:
  1. 建立一個 Base(COMP),並將其重新命名為 local
  1. local 內部,建立一個 Null(DAT),並將其重新命名為 variables
  1. 建立一個 Table(DAT),並與 variables 連接。
完成!
如何使用它?只需輸入以下腳本:
me.var('your_var_name')
notion image
甚至可以將它與 CHOP 或 Slider 等路徑一起使用。
notion image

Modules(模組)

這是實現儲存的另一種方法。
更強大的是,它還可以儲存函數。
步驟:
  1. 建立一個 Base(COMP),並將其重新命名為 local。(與 Local Variables 的第 1 步相同)
  1. local 內部,建立一個 Base(COMP),並將其重新命名為 modules
  1. modules 內部,建立一個 Text(DAT),您也可以根據需要更改名稱。(這將使模組更清晰。)
  1. 在 Text 中撰寫您的變數或函數。
完成!
使用的腳本如下:
me.mod.TEXT_OP_Name.VARIABLE_Name
在此範例中,我們的腳本是:
me.mod.CHOPs.LFO
notion image
即使您在 CHOP Operator 中使用多個 Channel,也可以建立另一個 Text(DAT)來儲存 Channel 名稱。
notion image
此外,您還可以在此處儲存函數。
notion image

Storage(儲存)

第三種方法是使用儲存。
它更像是程式語言中的普通變數。
  • 使用 store() 函數來儲存資料。
  • 使用 fetch() 函數來獲取資料。
  • 使用 unstore() 函數來移除資料。
腳本:
me.parent().store('the_target_data') # 儲存資料 me.parent().fetch('the_target_data') # 獲取資料 me.parent().unstore('the_target_data') # 移除資料 me.parent().unstore('*') # 移除所有資料
相當簡單,對吧?
notion image
當然,您可以儲存 CHOP 的資料,或是 SOP 的資料也可以。
notion image
如果您添加「Channel 名稱」,它將獲取 CHOP Operator 中的每個 Sample 值。
notion image
此外,您還可以建立一個 Python Dictionary,這樣使用起來更方便。
notion image
順帶一提,所有程式都會自動更新,這意味著即時更新。
 
是的,就是這樣。
我認為這三種方法都非常重要。
多加練習,享受編程的樂趣吧!
 
Refer
⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑⭑
Luxmin Institute 互動研究院 策劃了一系列關於互動體驗技術、科技藝術與多媒體整合為核心的主題課程、工作坊、社群、聚會,以及 TXRX 互動體驗大會
關注我們最新的活動動態與報名資訊:https://www.threads.com/@luxmin.institute