首页 > 解决方案 > 如何根据Houdini中的属性删除点?

问题描述

我创建了一条有几个点的曲线。现在我想根据其中一个属性(will_be_removed)删除一些点。

几何电子表格

如上图所示,那些i@will_be_removed设置为 1 的点将被删除。

我尝试使用下面的 VEX 代码,但它表示类型的下标无效:int.will_be_removed

if(@ptnum.will_be_removed == 1)
{
    removepoint(0, @ptnum);
}

如何正确引用这些点?

标签: houdinivex

解决方案


此代码中的错误

if(@ptnum.will_be_removed == 1)
{
    removepoint(0, @ptnum);
}

是因为@ptnumVEX 类型 int@ptnum也可以写成i@ptnum明确指示它的类型,但由于它是一个众所周知的属性(请参阅链接中的文档),您也可以将其简写为@ptnum.

int类型是数字,不包含其他数据的集合。

关于属性,您还需要记住它们是顶点、点、图元还是细节属性

属性优先级

当同一几何中的两个组件具有同名属性时,使用几何“较低级别”上的属性,因此:

顶点属性,覆盖:

     点属性,覆盖:

         覆盖以下内容的原始属性:

                 细节(整个几何)属性


推荐阅读