目录

Hscript 常用函数

常用的 Hscripts 函数用法记录。


Primitive 相关

PrimUV

primuv 可以用于提取几何体的 UV 坐标中某一点的属性。通常的写法如下:

primuv(surface_node, prim_num, attrib_name, attrib_index, u, v)

具体的例子:

primuv("/obj/geo1/tube1", 0, "Cd", 1, 0.7, 0.3)
其作用为:读取面编号为 0 中,处于坐标 [0.7, 0.3] 位置的颜色属性的绿色通道。

需要注意的是,如果 PrimitivePolygon 或者 Meshuv 表示的实际上是 Vertex 的编号,或者行列。

PrimUV Tips

工具函数

Clamp

clamp 用于为接收的变量指定上限和下限。它接收 3float 变量,返回一个 float 变量。其使用实例如下:

clamp(@primnum / (@numprim - 1) + @time - 1, 0, 1)
上述代码将开头的表达式得到的结果限制到了 01 的范围内。

Noise

noise 函数会根据几何体的 Lattice 产生一个 3D 的 Noise。该函数可以用于添加变化到几何体上,比如添加 P 属性的 Noise 可以产生凹凸不平的效果。其使用实例如下:

noise($TX, $TY, $TZ)

需要注意的是,noise 函数要求变量值不能是离散的;也就是说,noise 不能使用整型数据

参考文章