内容参考Houdini101
首先,group可以看做是一种特殊的attribute,只是他的值只是0-1。因此他其实就是一种mask而已。
在vex中,我们只要用@group_mygroup
这样的写法就能自动创建一个名为mygroup的组。这和attrb基本一致。
我们键入group关键字,会发现以下节点与之有关。
最基本用法
最基本的当然就是group节点。
如图,group分为primitives points edges vertices
显然分别对应图元(图中就是面) 点 边 顶点
点击base group旁边的鼠标就能选择group
被选择的,其实就是面的编号
即使我们高亮了group节点,也会发现被选中的组没有被高亮。这时候我们可以如图点击show/hide list view进行高亮
我们通过点击右侧边栏的display group and attrb list按钮,能在scene view中显示当前有哪些组。
四种group的类型
选面 给的是面编号
选点,给的是点编号
而选顶点,需要先给出prim的编号,然后用字母v给出是第几个顶点。比如5v1代表第五个面的第1号顶点。
选edge则是先选点,然后用折线连接。点用p表示。例如p5-8-7表示第5号点,第8号点和第7号点连接起来的线段。
group节点的各个参数含义
initial merge中选择union with existing,不会取代同名的组,而是合并。
(注意是同名的组)
bounding box选组
normal选组
根据某一特定方向(例如x轴方向)与normal的角度选择组
与几何体交叉区域选点
与vdb相交选组
include by edges
可以选择边长在0-0.02范围内的边
或者选择夹角在0-60°的边
我们还可以根据与特定点的距离选点。比如给定点0,希望得到所有与其距离小于5的点包含进组。
勾选 unshared edges我们可以只选择边界上的图元
或者边界点
勾选boundary group会出现分开的两个group: group1__0和group1__1
或者边界边
group by range
最基本的,可以给定一个编号范围,比如选0到4号面
默认是relative start end
意思是不选倒数4个和第1个
equal partitions
意思是十等分,然后选择第0组(也就是前8个)
可以通过调节partition来选择第几组。
range filter
每隔4个选一个
每隔5个选2个
group expression
基本上就是vex
但是提供了几个很方面的预设,例如
选择每个面的第二个顶点
以30%的几率随机选面
哪些是三角形?(也就是@numvtx=3)
x坐标大于0
大于等于五边形
我们可以先用dissolve删除边然后造出多边形
vex
如开头所述,vex可以用来进行创建group
只需要先选择,然后用@group_xxx=1;即可
奇数选择
group expand
以40为中心向外扩散
还可以向里缩小
flood fill会填充所有拓扑相连的面
group promote
原本是这几个面
可以将其promote为点
将其promote为所有拓扑相连的边
如果只想要边界上的边,勾选include only elements on the boundary
rename
顾名思义
group copy
没啥用,纯粹是把group编号从一个几何体到另一个copy了一遍
delete group
顾名思义
删除组
注意delete unused group代表删除空组
group transfer
和attrb transfer一样,是基于邻域的不同几何体之间属性转移。
例如我们先做个球面,然后把所有点都加进group7
然后使用group transfer
输入0是一个平面,输入1是球面的group
最后我们可以调节邻域的大小
可以看到只有球面上有点,所以是空心的。
注意, 当不同类型的图元之间transfer
group transfer只能
group combine
新建一个group名为g_combine
它一开始等于group10(本来是蓝色,被覆盖为绿色)
然后与group7(红色)求并,得到新的g_combine
另外,在使用group combine时,很容易出现invalid group的错误
这是因为有的组被删掉或者不存在了。为此我们可以先新建一个空组。
只要在base group里面输入!*
即可创建空组。
或者在vex中使用@group_xxx;
而不赋予任何值即可创建空组。(另外一提,vex中的group只有0和非0, 所有不是0的值都和1是一样的)
转换attrb 和 group
很简单,只需要attrb create,然后选group,赋予1即可。也就是只针对group部分赋予1。
如下所示
另外顺带一提,可以可视化任意的attrbitue,只要在info窗口单击即可
按control+单击,还可以修改visualizer类型。
其中marker是数值
还有一种方法,就是使用group promote中的 output as integer attribute
用画笔刷group
笔刷刷出来的是Point group
滚轮可以调节大小
鼠标中键是橡皮擦
还有 reset all changes是清空文章来源:https://www.toymoban.com/news/detail-631444.html
文章来源地址https://www.toymoban.com/news/detail-631444.html
到了这里,关于Houdini 组(group)的详细讲解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!