常见的球型差值就不说了,太影响形态。这里试着做了几种插值方式,都是根据距离采样的。



30万粒子插值10倍,时间约15S(搜索周围500个点)



30万粒子插值10倍,时间1S以内(搜索周围5个点)


 

少量粒子插值,看不清楚的可以点开看大图


粒子插值也是想了很久的东西,这里做了几种算法,第一种是采样两个点并且计算速度所以会有拖尾的感觉。后面的是分别对3个点和4个点采样,只计算位置。全部过程在SOP中通过点云辅助实现。


今天对点云的概念算是弄得很清楚了,首先点云本身是树,所以如果给搜索方向,点云会计算的更快(因为抛弃掉了反方向的区域)。其次,点云输出的是一个链表的起始地址,链表的长度等于你给出的搜索点数,这个链表是按照距离本粒子的距离排列的。

把地址放入while循环就会依次顺着链表前进,如下节点



while外,连入一个cnt用来计数,起始值-1



内部把cnt++


pciterate是用来判断链表是否结束,通过这样我们最后就会得到cnt的值和搜索的最大点数是一致的(循环的次数是最大点数+1,链表的起始是空指针再+1,所以正式的数据其实是从第2次循环开始的,如果要求自身的点云就要+2,忽略自身点)。通过这个原理,就可以得到距离粒子第N近的点的数据,通过控制N就可以控制得到不同点的数据。


然后就是通过不同的算法,在粒子之间插入新的粒子,是在SOP里面通过复制点来做的粒子插值,然后通过VOP来控制每个点的位置。

这是最基础的插值方式,因为越近的点插值的粒子就越多,所以很容易造成粒子形成斑驳的形态(KK的插值也是基于这种算法),下周会尝试其他的算法。下面贴几张100万粒子插值10倍的图



100万



3点算速度



4点不算速度


,houdini案例,houdini技巧,houdini教程