Pasted image 20241002194117.webp

这是两个不同形状的曲线

Pasted image 20241002205713.webp

这里突然多了很多节点,但是不用紧张,主要的逻辑就是1.获取两个曲线编号0的控制点的位置2.然后通过这两个位置坐插值,得出两个矢量之间的过度的矢量值3.将点设置位置到插值矢量上。

Pasted image 20241002210028.webp

通过插值曲线,可以做出两个曲线间平滑的过度曲线。因为这里引导曲线的控制点不够,所以生成的曲线不是跟原来的曲线太匹配。

Pasted image 20241002210516.webp

这里你在引导曲线前面使用重采样曲线_Resample Curve将控制点提搞,并且将中间的点数也提高,这样能更清楚的看清楚过度的变化。

Pasted image 20241002223821.webp

因为权重输出的值是0.5-1的值,所以我将他映射到0-1这样方便从视图中观察,可以看到越靠近引导曲线的权重越大,越接近1,所以颜色越白,离引导曲线越远,越结节0.5,颜色越黑

Pasted image 20241002223605.webp

输出的最近编号可以看出,插值曲线会输出仅离它最近的引导曲线的编号。所以从视图可以看出靠近编号1的为白色,靠近编号0的为黑色。

Pasted image 20241002222932.webp

当最大邻项为1时,生成的插值曲线只会参照最近的1条引导曲线作为插值,所以生成的插值曲线跟最近的引导曲线一致。

Pasted image 20241002221417.webp
Pasted image 20241002222212.webp

可以看到,现在通过采样UV表面_Sample UV Surface节点获取到毛发在球面上的法向,然后作为引导朝上的方向,并且点朝上也接入了点法向,这样毛发的法向就会对齐点法向方向,可以从视图中看到,现在毛发都正常了。

通过分布点于面上_Distribute Points on Faces在球面上随机撒点,然后将点输入到插值曲线节点,然后可以看到,点上都生成了插值曲线,但是可以看到,很多线都跑到球里面的,这显然不是我们想要的,我们想要这些毛发都都根据球面的法向方向对齐。

Pasted image 20241002211315.webp

可以看到这有4根毛发和一个球体