美文网首页
Houdini VEX(十二)Intrinsic属性

Houdini VEX(十二)Intrinsic属性

作者: Joe_Game | 来源:发表于2019-08-06 22:23 被阅读0次

    一、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


    • ch('threshold')是用esc键下面的波浪线那个按键括起来的

    七、写的方法一:setprimintrinsic函数

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

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


    • 这些intrinsic属性都可以控制:


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

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


    • 读写同理,都可以找到这些intrinsic属性
    • 不同种的prim有不同的intrinsic属性
      十、写的方法四:先convertvdb节点转化,再跟上面同理


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

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

    相关文章

      网友评论

          本文标题:Houdini VEX(十二)Intrinsic属性

          本文链接:https://www.haomeiwen.com/subject/pvjgdctx.html