1。先做一个圆环发粒子,在坐标系的中心,粒子没有速度,原地发射。
2。我用mel让发射出的粒子围绕圆心运动,这样粒子就可以旋转起来。

3。在粒子的Y轴方向上给一个速度,粒子就可以向上升起。
4。粒子的X轴和Z轴的position给一个变化,让它随age的增大而逐渐远离圆心

5。好了,现在粒子能转了,也能上升了,但还不能移动。如果整个龙卷风发生位移,则粒子的旋转就会发生错误。我在这想了一个麻烦的办法。我在粒子上加了一个新的属性,用来记录围绕原点的正确旋转,每次计算完粒子的旋转后,再加上龙卷风的位移,就得到了发生位移后的龙卷风的正确旋转位置。可能比较笨,但很有效。

6。龙卷风已经能够移动,但还不能扭曲。这里我想了一个很好的办法。我用一条和龙卷风等高的曲线来控制龙卷风的运动,只要调节曲线的运动和形状,就可以调节龙卷风的形状。

7。龙卷风和地面接触的烟尘我用了系统提供的field就完成了。

8。龙卷风卷来了。
以上思路的实现全部用mel来完成,我发现mel真的是maya的翅膀,学会基本功能可以跑,学会mel就可以飞了。当然,我对mel的理解也很浅,希望今后可以和大家多交流。龙卷风是我用mel完成的第一个应用事例,虽然走了很多弯路,但收获很大。龙卷风的材质我用的是particle cloud,然后用ray trace shadow,体感还可以。Rendering的速度很慢,大概一张大图需要20分钟。荒野上的房屋也是用mel来完成裂开到卷走的过程。
