Discovering Houdini vop 2 學(xué)習(xí)筆記1-10
1 把變化的數(shù)據(jù)除以一個(gè)變量,通過這個(gè)變量的大小控制結(jié)果增長的快慢。再用rint函數(shù)把結(jié)果取整,得到一個(gè)可以控制變化速率的整數(shù)。

2 用fraction函數(shù)取一個(gè)變化數(shù)據(jù)的小數(shù)部分,得到一個(gè)從0到1的無限循環(huán)。

3? 線條有內(nèi)置的uv屬性,u值從0到1,代表整個(gè)線條上的位置。用primuv函數(shù)通過控制u值,求該點(diǎn)的P屬性,得到位置。對于線上包含uv屬性的點(diǎn),通過縮放點(diǎn)的u屬性,用primuv節(jié)點(diǎn)求該位置控制點(diǎn)在線條上移動(dòng),得到曲線的生長動(dòng)畫。

4? 用pcopen和pcnumfound求近點(diǎn)數(shù)量。
9 intersect函數(shù)把點(diǎn)orig根據(jù)dir向量的方向和長度投射到指定幾何體上,函數(shù)求出投射的位置,面的編號,投射位置在面上的uv。
教程里的例子:給圓柱體添加法線,用球體靠近圓柱體,用xyzdist和primuv求球體上的點(diǎn)距離圓柱最近的面上的法線。當(dāng)球體和圓柱體相交時(shí),球體進(jìn)入圓柱體里面的點(diǎn)根據(jù)法線方向向外投射,投射到圓柱體上,而沒有進(jìn)入的點(diǎn)根據(jù)法線方向投射不到圓柱體上,保持原有位置。
其實(shí)有個(gè)問題,法線的長度是1,也就是說最遠(yuǎn)投射距離是1,所以物體比較大時(shí),法線長度要調(diào)整。

10 intersect_all 函數(shù)把射線穿透幾何體,求出和intersect相應(yīng)的數(shù)組格式。vop里的intersect_all和vex里的有點(diǎn)不同,第一個(gè)輸出端口輸出相交點(diǎn)的個(gè)數(shù)。
