五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Houdini vex 語法第二篇(組)

2023-06-15 15:07 作者:3d流浪者_(dá)lpg  | 我要投稿

1.Houdini中的group(組)介紹:

????1.1:Houdini group是點(diǎn)或者面的集合,如下圖所示:

1.1圖:點(diǎn)的集合

????說明:圖中有兩個(gè)點(diǎn)group,一個(gè)是紅色點(diǎn)組成的集合,另一個(gè)是黑色點(diǎn)組成的集合

1.2圖:面的集合

????說明:圖中有兩個(gè)面group,一個(gè)是紫色面組成的集合,另一個(gè)是黃色面組成的集合

????1.2:Houdini中哪些存儲(chǔ)單元可以劃分group:

? ??????1.2.1:Points:本質(zhì)是幾何點(diǎn)(可以參考上一篇),可以劃分group

????????1.2.2:Vertices:本質(zhì)也是幾何點(diǎn)(可以參考上一篇),可以劃分group

? ? ? ? 1.2.3:Edges:兩個(gè)點(diǎn)組成線,可以劃分group(edge在數(shù)據(jù)面板中不可查看,為了簡單起見。本文不介紹這個(gè)類型,以后介紹,但是這個(gè)仍然很重要)

? ? ? ? 1.2.4:Primitives:可以是線也可以是面(可以參考上一篇),可以劃分group

? ? ? ? 1.2.5:上述內(nèi)容可以參考Houdini中g(shù)roup create節(jié)點(diǎn)中的group type,如下圖:? ? ? ? ?

1.2.5:GroupCreate圖
1.2.5.1:GroupType圖

????1.3:認(rèn)識(shí)函數(shù)(方法)

? ? 1.3.1:Houdini中對(duì)組的所有操作都是基于函數(shù)(方法)的,這里簡單介紹下Houdini中的函數(shù),如下圖:

1.3.1:函數(shù)示例圖

????說明:

????1.上圖int為函數(shù)(方法)的返回值,可以是各種類型,int只是其中一種,我們可以用一個(gè)變量接收這個(gè)返回值,也可以直接當(dāng)做另一個(gè)函數(shù)的入?yún)?見說明第3點(diǎn))

????2.setpointgroup為函數(shù)名,表示這個(gè)函數(shù)的功能,比如示例中的的函數(shù)功能為:設(shè)置點(diǎn)的group

? ? 3.括號(hào)里的為入?yún)ⅲ硎具@個(gè)函數(shù)正常運(yùn)行所需要的一些數(shù)據(jù),不同函數(shù)的參數(shù)可長可短,也可以沒有。

? ?4.更多關(guān)于函數(shù)的介紹大家可以自行百度編程里的函數(shù)(方法),推薦簡單入門一個(gè)編程語言如c/c++(詳細(xì)可私信up,幫推薦),這里只是降低這篇專欄難度的簡單介紹。

2.Houdini中對(duì)group的操作演示

? ? 2.1:在數(shù)據(jù)面板中查看group(組):

????????2.1.1:如圖,給一個(gè)球體創(chuàng)建一個(gè)group:

2.1.1:球體創(chuàng)建一個(gè)組

???說明:默認(rèn)情況下會(huì)把一個(gè)幾何體按照group劃分的單位放到一個(gè)組里,也就是說默認(rèn)情況下一個(gè)幾何體只有一個(gè)group

? ? ? ?2.1.2:如圖Points下創(chuàng)建組:

2.1.2:Points下創(chuàng)建組

????說明:列名:group:組名,列值:1代表在group內(nèi),0則反之,在其他單位下劃分group基本一樣,改變group type 在相應(yīng)面板查看即可,這里不再贅述

????2.2:Houdini中將劃分單元移除或者加入到group

????????2.2.1:group將單元加入和移除如下圖:

2.2.1:group將單元加入和移除
2.2.1.1將單元添加到group
2.2.1.2將單元移出組


1.以上演示都是在Points單元下的操作,切換上圖run over在對(duì)應(yīng)數(shù)據(jù)面板查看效果,函數(shù)要切換為setprimgroup和setvertexgroup,setprimgroup和setpointgroup是差不多的,setvertexgroup在參數(shù)和效果上是有些不同的

2.setpointgroup參數(shù)介紹:第一個(gè)參數(shù)是輸入的端點(diǎn)編號(hào),從左到右從0開始遞增;第二個(gè)參數(shù)是group的名稱;第三個(gè)參數(shù)是point編號(hào),可以是固定編號(hào),也可以使用屬性對(duì)每個(gè)point遍歷;第四個(gè)參數(shù)是0或者1,表示是否在group內(nèi),最后一個(gè)參數(shù)是模式目前只有一個(gè)取值"set"。更詳細(xì)介紹可以去文末api鏈接里了解

3.setvertexgroup參數(shù)介紹:第一個(gè)參數(shù)是輸入的端點(diǎn)編號(hào),從左到右從0開始遞增;第二個(gè)參數(shù)是group的名稱;第三個(gè)參數(shù)是primitive編號(hào),可以是固定編號(hào),也可以使用屬性對(duì)每個(gè)primitive遍歷;第四個(gè)參數(shù)是偏移量,表示每隔幾個(gè)vertex設(shè)置一次;第五個(gè)參數(shù)是0或者1,表示是否在group內(nèi),最后一個(gè)參數(shù)是模式目前只有一個(gè)取值"set"。更詳細(xì)介紹可以去文末api鏈接里了解

????2.3:group的基本函數(shù)

? ??????2.3.1:如圖,演示節(jié)點(diǎn)結(jié)構(gòu):

2.3.1:演示節(jié)點(diǎn)結(jié)構(gòu)

????說明:為了便于理解三個(gè)幾何體分別以point,vertex, prinum為單位劃分group,演示group的三個(gè)基本函數(shù),判斷單元在group內(nèi),統(tǒng)計(jì)group內(nèi)單元數(shù)量,以數(shù)組形式返回group內(nèi)所有單元編號(hào)

? ? 2.3.2:如圖,判斷單元在group內(nèi):

2.3.2:判斷單元在group內(nèi)
2.3.2.1:判斷單元在group內(nèi)數(shù)據(jù)看板

????說明:

????????????1.上面只展示了point單元下的數(shù)據(jù),看其他單元下的效果只需要放開相應(yīng)的函數(shù),改變r(jià)un over即可

? ? ? ? ? ? ?2.inpointgroup函數(shù)介紹:這個(gè)函數(shù)是判斷point是否在group內(nèi),三個(gè)參數(shù)從左到右分別為輸入的端點(diǎn)編號(hào),從左到右從0開始遞增;第二個(gè)參數(shù)是group名稱,第三個(gè)參數(shù)是要判斷的point編號(hào),可以是固定編號(hào),也可以使用屬性進(jìn)行遍歷;返回值表示是否存在,0表示不存在,1反之,如上圖point_exit列;invertexgroup,inprimgroup函數(shù)同理

????????????3.詳細(xì)內(nèi)容查閱文末api文檔

????2.3.3:如圖,統(tǒng)計(jì)group內(nèi)單元的數(shù):

2.3.3:統(tǒng)計(jì)group內(nèi)單元的數(shù)量
2.3.3.1:統(tǒng)計(jì)group內(nèi)單元的數(shù)量數(shù)據(jù)看板

????說明:

????????????1.統(tǒng)計(jì)group內(nèi)單元數(shù)量只需要執(zhí)行一次就夠了,所以在detail單元下查看是最方便的

? ? ? ? ? ? 2.?npointsgroup函數(shù)介紹:統(tǒng)計(jì)group內(nèi)point的數(shù)量,兩個(gè)參數(shù)從左到右分別為輸入的端點(diǎn)編號(hào),從左到右從0開始遞增;第二個(gè)參數(shù)為要統(tǒng)計(jì)的group的名稱;返回值是統(tǒng)計(jì)的point的數(shù)量;nverticesgroup和nprimitivesgroup同理

? ? ? ? ? ? 3.詳細(xì)內(nèi)容查閱文末api文檔

????2.3.4:如圖,以數(shù)組形式返回group內(nèi)所有單元的編號(hào):

2.3.4:以數(shù)組形式返回group內(nèi)所有單元的編號(hào)

2.3.4.1:以數(shù)組形式返回group內(nèi)所有單元的編號(hào)數(shù)據(jù)看板

????說明:

????????????1.以數(shù)組形式返回group內(nèi)所有單元的編號(hào)只需要執(zhí)行一次就夠了,所以在detail單元下查看是最方便的

? ? ? ? ? ? 2.expandpointgroup函數(shù)介紹:以數(shù)組形式返回group內(nèi)所有point的編號(hào),兩個(gè)參數(shù)從左到右分別為輸入的端點(diǎn)編號(hào),從左到右從0開始遞增;第二個(gè)參數(shù)為要統(tǒng)計(jì)的group的名稱;返回值是group所有point編號(hào)的數(shù)組;expandvertexgroup和expandvertexgroup同理

? ? ? ? ? ? 3.詳細(xì)內(nèi)容查閱文末api文檔

????2.4:group擴(kuò)展

??????? ? 2.4.1:如圖,演示節(jié)點(diǎn)結(jié)構(gòu):

2.4.1:演示節(jié)點(diǎn)結(jié)構(gòu)

????說明:

????????????1.以上演示都是point單元下的演示

? ? ? ? ? ? ?2.擴(kuò)展是為了給Houdini中使用組的提供一個(gè)tip,讓大家了解編程操作group的靈活性和強(qiáng)大之處,更多內(nèi)容在以后的專欄或者讀者可以自行研究

????2.4.2:尋找group內(nèi)point的最近point

2.4.2:尋找group內(nèi)point的最近point
2.4.1:尋找group內(nèi)point的最近point數(shù)據(jù)看板

????說明:

????????????1.nearpoint函數(shù)介紹:這個(gè)函數(shù)是point函數(shù),不是group的,函數(shù)功能就是尋找group內(nèi)距離輸入point最近的point,一共有三個(gè)參數(shù)從左到右分別為輸入的端點(diǎn)編號(hào),從左到右從0開始遞增;第二個(gè)參數(shù)是組的名稱;第三個(gè)參數(shù)是輸入點(diǎn)的坐標(biāo),可以是固定點(diǎn)的坐標(biāo),也可以用屬性遍歷;返回值是距離最近point的編號(hào)

? ? ? ? ? ? 2.該函數(shù)還有很多重載方法,重載是編程術(shù)語,意思是函數(shù)名相同,但是參數(shù)的類型,順序,長度不同。大家可以自行去文末api鏈接了解

? ? ? ? ? ?3.可以看到第二個(gè)函數(shù)使用了一個(gè)"@P.x>0"的group名稱,這是一種高階用法,以表達(dá)式匹配生成group,表達(dá)式可以很復(fù)雜,這里只是限定了坐標(biāo)x>0的所有point

補(bǔ)充說明:

1.Houdini api 文檔鏈接:https://www.sidefx.com/docs/houdini/vex/functions/

2.示例下載:

鏈接: https://pan.baidu.com/s/1SFgv8corlJmP-A2pqqVBfg 提取碼: abcd?

3.溫馨提示:api文檔很重要,以后編程自由很大一部分要依賴api文檔

ps:如有錯(cuò)誤留下評(píng)論,up改正,一起進(jìn)步

上一篇:Houdini vex 語法第一篇(屬性)

下一篇:Houdini vex 語法第三篇(參數(shù)):待續(xù)?


Houdini vex 語法第二篇(組)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
化州市| 天峻县| 卫辉市| 安顺市| 定结县| 师宗县| 保康县| 潜江市| 衡东县| 长寿区| 湘潭市| 松溪县| 新田县| 南阳市| 亳州市| 饶平县| 永宁县| 南丹县| 麻城市| 靖江市| 信丰县| 荣成市| 榆树市| 泰安市| 余姚市| 漳平市| 德钦县| 建瓯市| 卢湾区| 雷波县| 焦作市| 彰化市| 临沭县| 嘉义县| 禹城市| 建水县| 浑源县| 通城县| 南漳县| 获嘉县| 新干县|