所有Houdini函数:http://127.0.0.1:48626/vex/functions/ 这里面的函数有几百个,用到的时候查即可

随机:Rang

作用:根据种子值,随机生成0-1之间的值

  1. rand(<value>)
  2. 参数说明:
  3. 种子值:<value>

映射:fit , fit01

作用:把一个【旧区间】映射到 另一个【新区间】 【输入值】是【旧区间】的值,会自带映射到相应的【新区间】

  1. 函数:
  2. fit01(<vector>, <num>, <newmin>, <newmax>)
  3. 参数说明:
  4. 输入值:<vector>
  5. 输入区间:0 - <num>
  6. 输出区间:<newmin> - <newmax>
  7. =================================================
  8. 函数:
  9. fit(<vector>, <oldmin>, <oldmax>, <newmin>, <newmax>)
  10. 参数说明:
  11. 输入值:<vector>
  12. 输入区间:<oldmim> - <oldmax>
  13. 输出区间:<newmin> - <newmax>

补充:如果有迭代对象存在,fit会根据迭代对象遍历

向下取整:floor

作用:舍弃小数,取整数 *(注意:不是四舍五入)

  1. 函数原型:
  2. int floor(int n)
  3. float floor(float n)
  4. vector floor(vector n)
  5. 参数说明:
  6. 取整对象:n

组内判读:in*group

作用:判断元素是否在组内,并返回布尔值(0/1)

  1. 函数原型
  2. int inedgegroup(<geometry>, string groupname, int pointnum0, int pointnum1)
  3. int inpointgroup(<geometry>, string groupname, int pointnum)
  4. int inprimgroup(<geometry>, string groupname, int primnum)
  5. int invertexgroup(<geometry>, string groupname, int vertexnum)
  6. 参数说明:
  7. <geometry>: 数据源,表示从【wrangle节点】从那个接口获取数据(0-3)
  8. 或者【节点路径】
  9. groupname: 用来判断组的【组名】
  10. 3-4号参数: 需要判读是否在【组内的元素】

向量:set

作用:用于创建一个新的向量值 (向量本身的元素,都不用变量或者函数来代替) (如果创建的值中有变量和函数,只能由Set来创建向量)

  1. vector name = {1,2,3};
  2. vector name = set(1,2,3);
  3. x=1;
  4. vector name = set(x,2,3);

image.png

属性函数

读取属性:Attrib\Point\Prim\Vertex\Detail

http://127.0.0.1:48626/vex/attrib_suite Attrib是通用读取函数 Point、Prim、Vertex、Detail是特定元素类型读取函数

这几个函数的原型几乎完全一样, 所以只以Detail为例

  1. 函数原型:
  2. detail(<geometry>geometry, string attribute_name, int ignored=0)
  3. 参数说明:
  4. <geometry>:获取地址
  5. wrangle节点】的地址是以接口号(0-3)的形式
  6. 【其他节点】的地址是以【字符串】
  7. attribute_name:属性名
  8. 需要获取的属性
  9. ignored:默认值

image.png