Houdini基本操作技巧

删除内部点

  • 记得fuse clean
  • 保证顶点干净
    在这里插入图片描述

提取顶部的点

直接用表达式(获取bbox的最高点,正好)

@P.y==`bbox(opinputpath(".", 0), D_YMAX)`

在这里插入图片描述

获取面片的数量

nprims(opinputpath("../fuse2/", 0))

中心点在这里插入图片描述

@P = prim(1, "P", @elemnum)

两点之间距离extrude面

在这里插入图片描述

排序顶点根据Y

可以确保0,1在顶部
在这里插入图片描述

two point resample

在这里插入图片描述
中间点,然后把东西实例化上去,自适应size

if (@ptnum == 0 || @ptnum == 3)
{
    
    
    int neigh = abs(@ptnum-1);
    vector neigh_pos = point(0, "P", neigh);
    
    // distance and scale
    float dist = distance(@P, neigh_pos);
    float module_size = 0.5;
    int module_amount = (int)rint(dist/module_size);
    
//     printf("%d \n", module_amount);

    float scale_z = (dist/module_amount)/module_size;
    
//     printf("s %d \n", scale_z);

    // resample
    vector dir = normalize(neigh_pos - @P);
//     @N = dir;
    vector new_pos;
    int new_pt;
    
    for(int x=0; x<module_amount; x++)
    {
    
    
        new_pos = @P + dir*module_size*scale_z*x + (dir*module_size*scale_z)/2;
        new_pt = addpoint(0, new_pos);
        setpointattrib(0, "N", new_pt, @N, "set");
    }
}

removepoint(0, @ptnum);

在这里插入图片描述

点随机选择偏移

在这里插入图片描述

float prob = ch('probability');

if(rand(prob+@P.x+@P.y+@ptnum) < prob && v@scale > 0.9 )
{
    
    
    @P -= @N*0.15;
}

新版foreach节点的用法

在这里插入图片描述
记得选 single pass

在这里插入图片描述
上面的做法有问题
在这里插入图片描述
这才是正规做法

point表达式取法线

这句可以判断是横向还是纵向,和switch联用很合适

abs(point("../centorid/", 0, "N", 0))>0.01

移除最近的点(重合 overlap)

int nearpnts[] = nearpoints(1, @P, chf("maxdist"));

if(len(nearpnts>0))
{
    
    
    removepoint(0, @ptnum);
}

程序化UV

在这里插入图片描述
也可以控制顶点,只有你想不到,没有你做不到

HDA导入unity材质怪异的问题

找到问题节点,加个clean节点就好

贴图改变没刷新

glcahe -c

UV错乱的问题

不用 auto UV这个节点就好

HDA参数覆盖

点击 Save HDA preset就好 还挺隐蔽
在这里插入图片描述

polyfill可以fix hole修复破面

在这里插入图片描述

houdini参数驱动另一个参数

首先在Scripts里添加驱动的方法

def myFunction(kwargs):
    node = kwargs['node']
    parm = kwargs['parm']
    
    newVal = 1
    node.parm('frame').set(newVal)

然后对应 Callback里写 调用的方法

hou.phm().myFunction(kwargs)

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/A13155283231/article/details/115185499