在讲应用之前还是先从龙卷风讲起,这段时间也是查了不少资料。其中比较有用的就是下面的几张图,以及在国外网站上找到的一个研究生的毕业论文。这个学生也是想用houdini做一个可控的龙卷风,但是全片下来除了把现有的龙卷风类型讲的比较透彻,在应用那一块基本上也可以直接忽略了,可想国外的研究生有些过得也是比较水的。
第二张图是从wiki的vorticity中截取的,这个截面比较直观的体现了龙卷风风场横截面的速度与中心的关系了。
原理搞懂后不难得出,龙卷风的运动特性是涡流的一种体现,很多时候飞机引擎的前后也能出现类似小旋风的情况也就是这个道理。所以在houdini中应用主要就是看怎样认为的形成类似涡流的速度场。
1,先讲第一个方法
这个方法也是沿用的国外某个教程的方法,简单明了,也适合很多人的理解,下面是速度场的骨架:
这个方法主要是利用了龙卷风具有螺旋线的运动特征,所以最直观的搭建了这样的骨架,但是流体通过这个表现出来还是会有一些些的小瑕疵,那就是几个螺旋线都是最后变成管道的,而管道与管道之间就会形成B一样的外形凹槽,这个槽有可能会在流体的运动中体现出来而出现类似螺丝钉的样子。这个有好也有坏,如果把点云扰乱了,这种效果就不会那么明显了。
这是用这个方法生成的一版效果,精度比较低,笔记本就是烂,凑合看吧。
2,第二种方法完全是自己试探性的玩法,也就是几个平行的管道加一点恼乱形成的平行高速运转的旋风效果,这个方法可以使用在已经稳定的龙卷风身上。
这个方法能让流体在速度场类非常稳定的跟着扰动的变化而更改位置,效果还不错,能够适用在比较魔幻的效果里面。
下图的这个效果应为把turbulence加大了一点,结果就像有妖气了一样:
再来张福利:
3,第三种方法是直接使用一个运动轨迹的外壳来确定速度场方向的,这个连续性比较强,而且运动的外观也类似第一个方法那样可控性比较强。
效果图:
4,第四个方法,我本来以为是应该最好的方法,因为是用程序写的力场,速度涡轮和大小都非常类似真是物理中的样子,而且是整个box里面都充斥这非常精准的速度值。但是效果不尽人意,也许是我深挖的不够,目前来说就是效果趣味性不强,也许我加大扰乱场可能会有很大改观,这里我就不再做这个测试了。所有类型的工程文件都在文章最后,有时间点朋友可以拿着继续测试下去,也很欢迎有更好的结果出现。
程序是在vex里面写的,整体来说不难,得出的矢量场也感觉没太多问题,也许就是太没问题太规则了。
最后一个方法也许能够用来物理模拟之类的吧,但是单看效果来说就是渣渣了。不过我还是固执的认为这只是暂时的,因为他的形态是最没有人工痕迹的,之后再好好琢磨整一整应该也能出好的结果的。
个人来讲比较喜欢使用第二种和第三种方法。当然还有很多其他的方法是我没有考虑到的,希望这篇教程对大家有参考意义。