Houdini VEX(十二)Intrinsic属性

2019-08-06  本文已影响0人  Joe_Game

一、Intrinsic属性和普通属性基本相似,区别在于普通属性存储在几何体上,Intrinsic属性仅在需要的时候计算出来
二、只有prim和detail有intrinsic属性



三、solidembed节点:将模型变成四边形网格



四、读取的方法一:prim函数

//读取0号输入端的prim序号测量出来的体积
if(prim(0,'intrinsic:measuredvolume',@primnum) > chf('threshold'))//threshold是定义的一个阈值,可用通过调整来控制显示的面
    removeprim(0,@primnum,1);//移除这个面,1代表并删除顶点
/*   
measuredarea 测量出来的面积
measuredperimeter 测量出来的周长
measuredvolume 测量出来的体积
*/

五、读取的方法二:primintrinsic函数(最常用)

if(primintrinsic(0,'measuredarea',@primnum)>chf('threshold'))
    removeprim(0,@primnum,1);
/*   
measuredarea 测量出来的面积
measuredperimeter 测量出来的周长
measuredvolume 测量出来的体积
*/

六、读取的方法三:在组里写,满足这个组的才会alpha变成0


七、写的方法一:setprimintrinsic函数

matrix3 trans = 4; //意味着{4,0,0, 0,4,0, 0,0,4}
setprimintrinsic(0,'transform',0,trans);//该属性负责旋转和缩放

八、写的方法二:先pack节点打包,然后会多出来一些intrinsic属性,再通过setprimintrinsic函数控制这些intrinsic属性


setprimintrinsic(0,'viewportlod',0,'box');//pack geo在视口的显示模式
setprimintrinsic(0,'pivot',0, set(0,chf('height'),0) );//轴心点

九、写的方法三:通过isooffset节点先转化成体积,然后通过setprimintrinsic函数控制体积独有的intrinsic属性


setprimintrinsic(0,'vdb_class',0,'sdf volume');//vdb体积类型

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

上一篇下一篇

猜你喜欢

热点阅读