Houdini VEX(十二)Intrinsic屬性

一、Intrinsic屬性和普通屬性基本相似,區(qū)別在于普通屬性存儲在幾何體上,Intrinsic屬性僅在需要的時候計算出來
二、只有prim和detail有intrinsic屬性



三、solidembed節(jié)點:將模型變成四邊形網(wǎng)格



四、讀取的方法一:prim函數(shù)

  • 代碼:
//讀取0號輸入端的prim序號測量出來的體積
if(prim(0,'intrinsic:measuredvolume',@primnum) > chf('threshold'))//threshold是定義的一個閾值,可用通過調(diào)整來控制顯示的面
    removeprim(0,@primnum,1);//移除這個面,1代表并刪除頂點
/*   
measuredarea 測量出來的面積
measuredperimeter 測量出來的周長
measuredvolume 測量出來的體積
*/

五、讀取的方法二:primintrinsic函數(shù)(最常用)

  • 代碼:
if(primintrinsic(0,'measuredarea',@primnum)>chf('threshold'))
    removeprim(0,@primnum,1);
/*   
measuredarea 測量出來的面積
measuredperimeter 測量出來的周長
measuredvolume 測量出來的體積
*/

六、讀取的方法三:在組里寫,滿足這個組的才會alpha變成0


  • ch('threshold')是用esc鍵下面的波浪線那個按鍵括起來的

七、寫的方法一:setprimintrinsic函數(shù)

  • 代碼:
matrix3 trans = 4; //意味著{4,0,0, 0,4,0, 0,0,4}
setprimintrinsic(0,'transform',0,trans);//該屬性負(fù)責(zé)旋轉(zhuǎn)和縮放

八、寫的方法二:先pack節(jié)點打包,然后會多出來一些intrinsic屬性,再通過setprimintrinsic函數(shù)控制這些intrinsic屬性


  • 這些intrinsic屬性都可以控制:


  • 代碼:
setprimintrinsic(0,'viewportlod',0,'box');//pack geo在視口的顯示模式
setprimintrinsic(0,'pivot',0, set(0,chf('height'),0) );//軸心點

九、寫的方法三:通過isooffset節(jié)點先轉(zhuǎn)化成體積,然后通過setprimintrinsic函數(shù)控制體積獨有的intrinsic屬性


  • 讀寫同理,都可以找到這些intrinsic屬性
  • 不同種的prim有不同的intrinsic屬性
    十、寫的方法四:先convertvdb節(jié)點轉(zhuǎn)化,再跟上面同理


  • 代碼:
setprimintrinsic(0,'vdb_class',0,'sdf volume');//vdb體積類型

十一、還有很多不同的intrinsic屬性可以寫,需要去探索
十二、Spreadsheet中,灰色的Intrinsic屬性是不可更改的

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容