[Houdini] Chop和Sop的數(shù)據(jù)互通
Sop里的幾何體數(shù)據(jù)是各種屬性,P,Cd,pscale等,有vector形式,也有float形式。
Chop里的數(shù)據(jù)是一條條帶有名字的通道,或者說(shuō)線(xiàn)條。
兩者間的數(shù)據(jù)轉(zhuǎn)換就是比如把P屬性的x,y,z轉(zhuǎn)換成3條線(xiàn),或者把反過(guò)來(lái)把3條線(xiàn)轉(zhuǎn)換成P的x,y,z。
轉(zhuǎn)換方式有animated和static兩種,在各種教程中一般都是用animated方式,默認(rèn)選項(xiàng)是static。這篇文章只討論animated方式。animated方式大概就是數(shù)值隨時(shí)間變化的一個(gè)曲線(xiàn)。見(jiàn)下兩張圖


?Chop里的數(shù)據(jù)傳送到Sop:
方式1:在Chop里用export節(jié)點(diǎn)可以指定通道,指定sop里的節(jié)點(diǎn),和這個(gè)節(jié)點(diǎn)上的參數(shù),把數(shù)據(jù)添加到參數(shù)欄。? ?
用add做一個(gè)點(diǎn),鼠標(biāo)移動(dòng)到參數(shù)欄,可以看到這個(gè)節(jié)點(diǎn)的位置參數(shù)通道名字分別叫做pt0x,pt0y,pt0z。

在Chop里用noise做3條線(xiàn)。

用export節(jié)點(diǎn)傳遞數(shù)據(jù)。

方式2:在Sop里用channel節(jié)點(diǎn)接收Chop里的數(shù)據(jù)。
這種方式和上面不一樣,上面是把Chop數(shù)據(jù)寫(xiě)到節(jié)點(diǎn)的參數(shù)欄,這種是把數(shù)據(jù)寫(xiě)到屬性。比如一個(gè)box有8個(gè)點(diǎn),我們想用noise驅(qū)動(dòng)點(diǎn)的位置,P有3個(gè)分量,所以在Chop里需要8乘以3,24個(gè)通道。而且通道的名字后要加數(shù)字,用來(lái)對(duì)應(yīng)點(diǎn)序號(hào)。
用add建立一個(gè)點(diǎn)。
在Chop里建3個(gè)noise線(xiàn)條,t[xyz]0的寫(xiě)法相當(dāng)于tx0 ty0 tz0,這是3個(gè)線(xiàn)條或者叫通道的名字。

在Sop里的add下連接一個(gè)channel節(jié)點(diǎn),指定通道名和屬性名。

Cd屬性或者其他屬性也可以,前期是這個(gè)屬性存在。

方式3:或者在Motion View里把名字直接托到參數(shù)欄。自動(dòng)創(chuàng)建表達(dá)式。

方式4:打開(kāi)Chop里節(jié)點(diǎn)本身的export。

這種方式要求有明確的節(jié)點(diǎn)路徑和通道名稱(chēng)。




Sop的數(shù)據(jù)傳送到Chop:

Chop里的gemetry節(jié)點(diǎn)可以把幾何體的屬性轉(zhuǎn)換成通道。
