Discovering Houdini vop 2 学习笔记1-10
1 把变化的数据除以一个变量,通过这个变量的大小控制结果增长的快慢。再用rint函数把结果取整,得到一个可以控制变化速率的整数。

2 用fraction函数取一个变化数据的小数部分,得到一个从0到1的无限循环。

3 线条有内置的uv属性,u值从0到1,代表整个线条上的位置。用primuv函数通过控制u值,求该点的P属性,得到位置。对于线上包含uv属性的点,通过缩放点的u属性,用primuv节点求该位置控制点在线条上移动,得到曲线的生长动画。

4 用pcopen和pcnumfound求近点数量。
9 intersect函数把点orig根据dir向量的方向和长度投射到指定几何体上,函数求出投射的位置,面的编号,投射位置在面上的uv。
教程里的例子:给圆柱体添加法线,用球体靠近圆柱体,用xyzdist和primuv求球体上的点距离圆柱最近的面上的法线。当球体和圆柱体相交时,球体进入圆柱体里面的点根据法线方向向外投射,投射到圆柱体上,而没有进入的点根据法线方向投射不到圆柱体上,保持原有位置。
其实有个问题,法线的长度是1,也就是说最远投射距离是1,所以物体比较大时,法线长度要调整。

10 intersect_all 函数把射线穿透几何体,求出和intersect相应的数组格式。vop里的intersect_all和vex里的有点不同,第一个输出端口输出相交点的个数。
