1.1:Houdini group是點或者面的集合,如下圖所示:
說明:圖中有兩個點group,一個是紅色點組成的集合,另一個是黑色點組成的集合
(相關資料圖)
說明:圖中有兩個面group,一個是紫色面組成的集合,另一個是黃色面組成的集合
1.2:Houdini中哪些存儲單元可以劃分group:
1.2.1:Points:本質是幾何點(可以參考上一篇),可以劃分group
1.2.2:Vertices:本質也是幾何點(可以參考上一篇),可以劃分group
1.2.3:Edges:兩個點組成線,可以劃分group(edge在數據面板中不可查看,為了簡單起見。本文不介紹這個類型,以后介紹,但是這個仍然很重要)
1.2.4:Primitives:可以是線也可以是面(可以參考上一篇),可以劃分group
1.2.5:上述內容可以參考Houdini中group create節點中的group type,如下圖:? ? ? ? ?
1.3:認識函數(方法)
1.3.1:Houdini中對組的所有操作都是基于函數(方法)的,這里簡單介紹下Houdini中的函數,如下圖:
說明:
1.上圖int為函數(方法)的返回值,可以是各種類型,int只是其中一種,我們可以用一個變量接收這個返回值,也可以直接當做另一個函數的入參(見說明第3點)
2.setpointgroup為函數名,表示這個函數的功能,比如示例中的的函數功能為:設置點的group
3.括號里的為入參,表示這個函數正常運行所需要的一些數據,不同函數的參數可長可短,也可以沒有。
4.更多關于函數的介紹大家可以自行百度編程里的函數(方法),推薦簡單入門一個編程語言如c/c++(詳細可私信up,幫推薦),這里只是降低這篇專欄難度的簡單介紹。
2.Houdini中對group的操作演示2.1:在數據面板中查看group(組):
2.1.1:如圖,給一個球體創建一個group:
說明:默認情況下會把一個幾何體按照group劃分的單位放到一個組里,也就是說默認情況下一個幾何體只有一個group
2.1.2:如圖Points下創建組:
說明:列名:group:組名,列值:1代表在group內,0則反之,在其他單位下劃分group基本一樣,改變group type 在相應面板查看即可,這里不再贅述
2.2:Houdini中將劃分單元移除或者加入到group
2.2.1:group將單元加入和移除如下圖:
1.以上演示都是在Points單元下的操作,切換上圖run over在對應數據面板查看效果,函數要切換為setprimgroup和setvertexgroup,setprimgroup和setpointgroup是差不多的,setvertexgroup在參數和效果上是有些不同的
2.setpointgroup參數介紹:第一個參數是輸入的端點編號,從左到右從0開始遞增;第二個參數是group的名稱;第三個參數是point編號,可以是固定編號,也可以使用屬性對每個point遍歷;第四個參數是0或者1,表示是否在group內,最后一個參數是模式目前只有一個取值"set"。更詳細介紹可以去文末api鏈接里了解
3.setvertexgroup參數介紹:第一個參數是輸入的端點編號,從左到右從0開始遞增;第二個參數是group的名稱;第三個參數是primitive編號,可以是固定編號,也可以使用屬性對每個primitive遍歷;第四個參數是偏移量,表示每隔幾個vertex設置一次;第五個參數是0或者1,表示是否在group內,最后一個參數是模式目前只有一個取值"set"。更詳細介紹可以去文末api鏈接里了解
2.3:group的基本函數
2.3.1:如圖,演示節點結構:
說明:為了便于理解三個幾何體分別以point,vertex, prinum為單位劃分group,演示group的三個基本函數,判斷單元在group內,統計group內單元數量,以數組形式返回group內所有單元編號
2.3.2:如圖,判斷單元在group內:
說明:
1.上面只展示了point單元下的數據,看其他單元下的效果只需要放開相應的函數,改變run over即可
2.inpointgroup函數介紹:這個函數是判斷point是否在group內,三個參數從左到右分別為輸入的端點編號,從左到右從0開始遞增;第二個參數是group名稱,第三個參數是要判斷的point編號,可以是固定編號,也可以使用屬性進行遍歷;返回值表示是否存在,0表示不存在,1反之,如上圖point_exit列;invertexgroup,inprimgroup函數同理
3.詳細內容查閱文末api文檔
2.3.3:如圖,統計group內單元的數:
說明:
1.統計group內單元數量只需要執行一次就夠了,所以在detail單元下查看是最方便的
2.?npointsgroup函數介紹:統計group內point的數量,兩個參數從左到右分別為輸入的端點編號,從左到右從0開始遞增;第二個參數為要統計的group的名稱;返回值是統計的point的數量;nverticesgroup和nprimitivesgroup同理
3.詳細內容查閱文末api文檔
2.3.4:如圖,以數組形式返回group內所有單元的編號:
說明:
1.以數組形式返回group內所有單元的編號只需要執行一次就夠了,所以在detail單元下查看是最方便的
2.expandpointgroup函數介紹:以數組形式返回group內所有point的編號,兩個參數從左到右分別為輸入的端點編號,從左到右從0開始遞增;第二個參數為要統計的group的名稱;返回值是group所有point編號的數組;expandvertexgroup和expandvertexgroup同理
3.詳細內容查閱文末api文檔
2.4:group擴展
2.4.1:如圖,演示節點結構:
說明:
1.以上演示都是point單元下的演示
2.擴展是為了給Houdini中使用組的提供一個tip,讓大家了解編程操作group的靈活性和強大之處,更多內容在以后的專欄或者讀者可以自行研究
2.4.2:尋找group內point的最近point
說明:
1.nearpoint函數介紹:這個函數是point函數,不是group的,函數功能就是尋找group內距離輸入point最近的point,一共有三個參數從左到右分別為輸入的端點編號,從左到右從0開始遞增;第二個參數是組的名稱;第三個參數是輸入點的坐標,可以是固定點的坐標,也可以用屬性遍歷;返回值是距離最近point的編號
2.該函數還有很多重載方法,重載是編程術語,意思是函數名相同,但是參數的類型,順序,長度不同。大家可以自行去文末api鏈接了解
3.可以看到第二個函數使用了一個"@P.x>0"的group名稱,這是一種高階用法,以表達式匹配生成group,表達式可以很復雜,這里只是限定了坐標x>0的所有point
補充說明:
1.Houdini api 文檔鏈接:https://www.sidefx.com/docs/houdini/vex/functions/
2.示例下載:
鏈接: https://pan.baidu.com/s/1SFgv8corlJmP-A2pqqVBfg 提取碼: abcd?
3.溫馨提示:api文檔很重要,以后編程自由很大一部分要依賴api文檔
ps:如有錯誤留下評論,up改正,一起進步上一篇:Houdini vex 語法第一篇(屬性)
下一篇:Houdini vex 語法第三篇(參數):待續?
標簽:
- Houdini vex 語法第二篇(組)_焦點
- 全球新動態:布萊澤奧特曼:人間體弦人妻子公布,也來自騎士棚,第三話登場
- 10部日本校園動漫推薦,讓你感受校園時代的青春浪漫! 世界新動態
- 什么是醫療過錯鑒定陳述書,怎么寫
- 蘇醒曬和梅西合影開心過了頭 網友:蘇醒的快樂震耳欲聾-世界頭條
- 時代光影 百部川揚|《電力運維的“漁光一體” 智能光伏集中運維平臺》
- 守護學生“舌尖上的安全” 黃龍溪鎮開展學校食品安全專項檢查
- 紹興梯田燈光秀斥資千萬引爭議 景區:不影響莊稼生長
- 時代光影 百部川揚|《走近成都城市“地下生命線”,構筑美好城市生活》
- 定檔父親節 2023健康南山跑成都站即將開啟
- 全球快資訊:北京海淀法院:包麗案被告人一審被判3年2個月
- 全球快報:加強“文化+科技”融合 成都文旅不斷豐富文化服務供給 提升人民滿意度和幸福感
- 湖北多家企業被舉報騙招商補貼數億 當地已調整補貼政策并追討補貼_天天滾動
- 環球精選!男子受境外人員雇傭裝木馬軟件盜信息,專門去應聘物流公司
- 天天熱議:浙江衢州:駐訓部隊百名官兵擼起袖子無償獻血
- 融通財險開業首年實現盈利 保險業務收入4.6億元、意外傷害險占比約72%|全球短訊
- H3Care服務品牌戰略煥新升級:我的服務,為更多可能!
- 今天國際(300532)6月15日主力資金凈買入2497.61萬元
- 計算機安全是指什么(計算機安全中的系統安全主要是指什么)-世界熱點評
- 我國成功發射“一箭41星”
- 【天天時快訊】“一箭41星”發射成功
- 每日速讀!杜仲平:警惕夏季冠心病 老人度夏重“養心”
- 一小區供暖季爆管140余次 供熱投訴重點小區啟動專項治理 “一區一策”診治供熱頑疾
- 世界今日訊!哪些痣可能有“問題”?如何識別必須去除的痣?癌變信號別忽視
- 讓德者受尊、德者有得,“豐臺好人”獲頒禮遇大禮包
- 焦點速看:又攤上事!特朗普將迎來第三起訴訟
- 實戰演練 守護生命——中國二冶城建分公司河北霸州項目開展“起重傷害”專項應急演練側記 世界獨家
- 農發行珙縣支行:扎實開展禁毒反洗錢宣傳活動|天天看熱訊
- 天天速看:農發行高縣支行有效開展“反電信網絡詐騙法”普法宣傳活動
- 農發行南溪區支行 開展警示教育系列活動
- 1 Houdini vex 語法第二篇(組)_焦點
- 2 全球新動態:布萊澤奧特曼:人間體弦人妻子公布,也來自騎士棚,第三話登場
- 3 10部日本校園動漫推薦,讓你感受校園時代的青春浪漫! 世界新動態
- 4 融通財險開業首年實現盈利 保險業務收入4.6億元、意外傷害險占比約72%|全球短訊
- 5 我國成功發射“一箭41星”
- 6 每日速讀!杜仲平:警惕夏季冠心病 老人度夏重“養心”
- 7 一小區供暖季爆管140余次 供熱投訴重點小區啟動專項治理 “一區一策”診治供熱頑疾
- 8 世界今日訊!哪些痣可能有“問題”?如何識別必須去除的痣?癌變信號別忽視
- 9 讓德者受尊、德者有得,“豐臺好人”獲頒禮遇大禮包
- 10 焦點速看:又攤上事!特朗普將迎來第三起訴訟