Houdini vex 語法第一篇(屬性)
前言:vex語法我們進階houdini技術的必修課,up將自己的學習感悟?qū)懗晌恼?,供大家參考,廢話不多說讓我們現(xiàn)在開始。
1.Houdini中數(shù)據(jù)的存儲域:
1.1Points(點):數(shù)據(jù)存儲在對象的幾何點上,存儲單位如圖所示:

1.2Vertices(頂點):數(shù)據(jù)存儲在面的幾何點上,與Points有區(qū)別仔細看圖,存儲單位如圖所示:

1.3Primitives(基本單元/原型(不必糾結翻譯)):是houdini特有的存儲單位,可以是面,線,幾何體等,存儲單位如圖所示:



1.4Detail(細節(jié)):將數(shù)據(jù)存儲在幾何對象上,存儲單位如圖所示:

2.Houdini中查看數(shù)據(jù)存儲:
?2.1Houdini中查看數(shù)據(jù)存儲的位置,如圖:

2.2Houdini中數(shù)據(jù)存儲面板介紹:
2.2.1Points如圖所示:

說明:默認第一列為point的編號,從零開始自增,P[x],P[y],P[z]表示point的x,y,z坐標
2.2.2?Vertices如圖所示:

2.2.2Vertices面板
說明:默認第一列為 面號:頂點編號,總體可以理解為頂點的全局唯一標識,這里都是三角面,如下圖所示表示編號40面的0,1,2號頂點(0,1,2為三角面內(nèi)唯一標識),藍色字體為point編號,第二列為頂點對應的point的編號:


2.2.3Primitives如圖所示:

說明:默認只有一列,為primitive編號
2.2.4Detail如圖所示:

說明:默認啥也沒有
3.Houdini中的數(shù)據(jù)類型:
3.1Houdini中有以下數(shù)據(jù)類型:

說明:第一列為數(shù)據(jù)類型,第二列為變量命名規(guī)范,沒有編程基礎的小伙伴可以逐個去了解,這個內(nèi)容太多不再贅述
3.2Houdini保留字所對應的數(shù)據(jù)類型:

3.1Houdini保留字對應數(shù)據(jù)類型
說明:第一列為數(shù)據(jù)類型,第二列為對應的保留字屬性名稱,保留字具體內(nèi)容可以點進去了解,鏈接在文末,這里只簡單介紹常用的幾個屬性。
3.3常用保留字介紹:
3.3.1@P是一個向量,表示一個單位的坐標
3.3.2@Cd是一個向量,表示顏色屬性,里面包含RGB值
3.3.3@ptnum是一個整形,表示point的編號,@primnum,@vtxnum同理
3.3.4除了以上保留字外,還有一些特殊的全局保留字:@Time浮點類型,表示當前時間軸播放到的時間,@Frame浮點類型,表示播放到的幀數(shù),其余特殊關鍵字也可在文末鏈接找到。這里不在贅述。
4.Houdini中自定義變量并且給變量賦值:
4.1通過wrangle操作vex,如下圖所示Houdini為我們提供了一下wrangle操作vex

說明:這里我們只討論point,primitive,vertex,attribute四個,而且四個中的前三個其實都是attributeWrangle,唯一的區(qū)別只有run over(也就是數(shù)據(jù)在哪個存儲域運行)如下圖:

4.2自定義變量示例, 在四個級別上的展示,如下圖:





5.Houdini中使用保留字(Houdini內(nèi)置變量)的簡單使用:
5.1保留字使用示例:

說明:1.@P = rand(@P) 相當于 @P.x = rand(0, @P.x),@P.y = rand(0,@P.y),@P.z=rand(0,@P.z),@Cd同理
2.@P的值修改只對Points數(shù)據(jù)單元有意義,其他級別不存在@P的真實定義
5.2在Points下看以上變量的存儲和對模型的影響,如下圖:



說明:注意看@Frame和@Time的產(chǎn)生的值
補充:1.Houdini屬性文檔鏈接:https://www.sidefx.com/docs/houdini/vex/snippets.html
? ? ? ? ?2.示例節(jié)點結構:
? ? ? ?

3.示例下載:
鏈接: https://pan.baidu.com/s/1UQ3lcupmXNSzHJbXp6WkWw 提取碼: abcd?
ps:如有錯誤留下評論,up改正,一起進步
下一篇:Houdini vex 語法第二篇(組):待續(xù)