其實很久以前就接觸過TouchDesigner這個軟件嘉裤,但是當時對這種連線式的編程方式還是比較抗拒失受,所以只是大概了解了一下就沒有繼續(xù)看了亚斋。但是最近有一個項目用到了kinect azure鸳慈,然后TD對這個東西的支持比較好,所以就用TD做了一次項目架馋。發(fā)現(xiàn)和原來用processing寫程序的感受還是挺不一樣的。最近周圍的人越來越多開始用td做項目全闷。所以想開始寫一些td的入門教程和防止自己后面會忘記叉寂,也給想要學td的人一些幫助。因為td的中文資源還不是很多总珠,我學的時候主要還是只能看官方的wiki屏鳍,輔助一些YouTube上面英文的視頻教程。
我還是用平常的方式來介紹局服,主要是解釋幾個概念钓瞭,我的理解是搞懂了這些概念就可以知道題題是怎么樣運行的。
OP
首先這種連線式的編程方式基本都是由一個一個的塊鏈接而來的淫奔,在td中這些塊被稱為op山涡。OP主要有下面這幾種
COMP、TOP唆迁、CHOP鸭丛、SOP、MAT唐责、DAT鳞溉、Custom。
其中TOP是對一個畫面進行處理的鼠哥,比如生成一個純色的圖片熟菲,或者一個漸變的圖片看政,或者對幾個輸入的圖片進行選擇或者疊加什么的。
CHOP會包含一個或者多個的數(shù)據(jù)抄罕,每個數(shù)據(jù)又可能有多個sample允蚣,可以理解為一個變量,可以存儲很多數(shù)據(jù)每個數(shù)據(jù)可以是一個數(shù)也可以是一個數(shù)據(jù)包含很多個數(shù)贞绵,每一個數(shù)據(jù)被稱為channel厉萝,數(shù)據(jù)如果由多個數(shù)組成,那么每個數(shù)被稱為sample榨崩。不同的CHOP可以對輸入或者自己產(chǎn)生的數(shù)據(jù)進行變化谴垫,比如constan CHOP會生成一個常亮,LFO CHOP會生成一個周期變化的數(shù)據(jù)等等母蛛。
SOP會生成一個三維的模型或者對一個三維的模型進行變化
MAT是材質(zhì)的OP
DAT有兩種翩剪,一種是包含數(shù)據(jù)的,比如一個txt文本彩郊,或者一個table的表格前弯。還有一種是作為一個腳本可以運行,因為TD是支持python腳本秫逝,所以可以在DAT里面寫python的腳本來運行恕出,不同的DAT可以在不同的情況下執(zhí)行,比如CHOP execute可以在chop里面的數(shù)據(jù)發(fā)聲變化時被調(diào)用
COMP可以理解為其他種類的OP违帆。這個有點復雜估計要單獨說浙巫。
每個OP都會有參數(shù)可以調(diào)節(jié),通常界面的右上角會有刷后,如果沒有的話可以按下p這個按鍵調(diào)出的畴。
數(shù)據(jù)流和引用
因為每一個op都只能實現(xiàn)特定的一些簡單功能,所以一個程序通常來說是由很多op連接而成的尝胆。所以每一個op會有或者沒有一個或者多個輸入或者輸出丧裁,取決于他的功能。OP之間的連接會有兩種方式:第一種是由一個op的輸出連接到另外一個op的輸入含衔;另外一種方式是一個op的參數(shù)引用煎娇,另外一個op。
比如這個程序里面我先用一個constant CHOP來生成一個Channel的數(shù)據(jù)交值是0.3抱慌。然后用一個math CHOP把這個數(shù)據(jù)乘以二逊桦,讓它變成0.6。然后用一個constant top抑进,讓他參數(shù)中的顏色的r通道引用math生成的這個數(shù)據(jù)强经。我們我們就會得到一個r的值為0.6的顏色∷律可以看到如果是用第一種的數(shù)據(jù)流方式的話匿情,在touchdesigner里面會用一條實線來表示兰迫。線條的顏色是和數(shù)據(jù)流的種類有關的,比如如果是chop的話炬称,那它就是綠色汁果,和op的顏色是相同的。如果是參數(shù)引用的話玲躯,會用一條白色的虛線來表示据德。
python
因為touchdesigner是支持python的,所以幾乎所有參數(shù)的地方都可以是python的表達式跷车,比如constant top的引用方式棘利。
看到這里,你應該去試著理解和記住一些常見的OP了朽缴∩泼担可以去看TD中文社區(qū)這個網(wǎng)站的初級教程,或者官方的wiki密强。
https://docs.derivative.ca/TOP
https://docs.derivative.ca/CHOP
https://docs.derivative.ca/SOP
https://docs.derivative.ca/DAT
這些頁面里每個都有一個sweet 16 xxxs下面列出了常用的16個這個種類的op