bl双性厨房裸体围裙_一本大道一卡二卡三卡_2019年中文字字幕在线看不卡_中文字幕日产乱码天堂

首頁 | 資訊 | 財(cái)經(jīng) | 公益 | 彩店 | 奇聞 | 速遞 | 前瞻 | 提點(diǎn) | 網(wǎng)站相關(guān) | 科技 | 熱點(diǎn) | 生活 |
Houdini vex 語法第二篇(組)_焦點(diǎn)

發(fā)稿時(shí)間:2023-06-15 15:48:35 來源: 嗶哩嗶哩
1.Houdini中的group(組)介紹:

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

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


(相關(guān)資料圖)

說明:圖中有兩個(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ù)面板中不可查看,為了簡(jiǎn)單起見。本文不介紹這個(gè)類型,以后介紹,但是這個(gè)仍然很重要)

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

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

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

1.3.1:Houdini中對(duì)組的所有操作都是基于函數(shù)(方法)的,這里簡(jiǎn)單介紹下Houdini中的函數(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ù)可長(zhǎng)可短,也可以沒有。

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

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

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

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

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

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將單元加入和移除如下圖:

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):

說明:為了便于理解三個(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):

說明:

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ù):

說明:

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):

說明:

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):

說明:

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

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

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

說明:

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ù)的類型,順序,長(zhǎng)度不同。大家可以自行去文末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ù)?

標(biāo)簽:

責(zé)任編輯:mb01

網(wǎng)站首頁 | 關(guān)于我們 | 免責(zé)聲明 | 聯(lián)系我們

生活晚報(bào)網(wǎng)版權(quán)所有

Copyright @ 1999-2017 gaoerwen.cn All Rights Reserved豫ICP備2022016495號(hào)-7

聯(lián)系郵箱:939 674 669@qq.com