第六章 柔 体 粒 子
前一部分是对粒子的控制的入门学习,粒子有很多的属性,也有很多种方法可以改变粒子的属性,前一部分是非常重要的基础,请读者务必熟读前面部分的知识再阅读接下来的内容。
在maya中,有一种非常特殊的粒子我们称之为柔体粒子。所谓柔体就是柔软的物体。我们建模得到的模型不外乎三种类型:多边形、曲面、细分面。这些类型的模型都可以转化成柔体,而柔体是由粒子控制的,也就是用粒子来控制模型的每一个点,说起来很复杂的样子,我们举个实例来看。
先在场景里面建一个多边行的面:
接下来,在动力学板块中,选择:Soft/RigidBodys→CreatSoftBody,打开对话窗口,我们直接使用默认的选项就可以了:
选择Create以后,我们就把这个模型转化成了柔体了:
可以发现,在多边形的里面,多出来一个粒子物体,而且在每一个多边形的编辑点上,都有一个粒子,有点像粒子目标goal的意思,我们看看为粒子添加了动乱场以后的情况:
粒子受到动乱场的影响,四处乱窜是可以预见的,可是多边形的每一个编辑点还是牢牢的吸附在粒子身上,随着粒子的移动而移动,结果整个模型就变成很乱的样子了。
柔体的含义由此而来,柔体就是用粒子控制的模型。当你可以随心所欲的控制粒子的运动以后,你就完全可以随心所欲地控制柔体了。
结合模型材质的色彩,和粒子的运动,我们就可以制作纷繁复杂的效果了,最简单的应用就是水面了:
我们新建一个场景,创建一个Nurbs曲面,增加细节UV,然后把它变成柔体(使用默认选项),接下来我们就通过制作水面来逐步的进入柔体:
当然了,要制作水面第一步还是要为粒子添加动乱场,因为水面本来就是混乱的,选择粒子,选择fields→turbulence,为粒子添加动乱场(Magnitude5,Attenueation0,Frequency1):
效果如下:
结果依然是不容乐观,我们发现粒子之间并没有水面那样的表面张力,所以受力以后就越来越走远了,所以我们就来为粒子自创建表面张力,这是柔体粒子带来的全新的,能够改变粒子属性的另一种方式:
创建弹簧:使用菜单命令Soft/RigidBody→CreateSprings:
弹簧是非常棒的一个工具,它能够使我们制作非常多的效果,它本身又非常的简单。(www.xing528.com)
弹簧(Spring)和生活中的弹簧是一样的,当你拉长它的时候,它就产生拉力阻止变长;当你压迫弹簧时,弹簧会产生弹力阻止变短。如果在粒子之间创建弹簧,就可以在粒子之间产生相互的作用力,使得粒子互相总是保持原有的距离,就是表面张力了。
如下图的设置,是标准的表面张力的设置,按照如图的设置,为柔体粒子添加弹簧:
同时将动乱场的大小进行调整到0.2左右,效果如下:
我们看到由于弹簧的互相作用力,粒子之间已经产生了互相的作用力,表面可以比较容易控制了,但是离水面的感觉还是差了很多,要想粒子像水一样的蠕动,看来除了动乱场、弹簧的张力以外还需要一种力,那种力必须努力的将粒子拉回原来的位置。
那是什么力?Goal,目标体,不是么?就把原来的那个面作为目标体,粒子不就由于目标体的吸引而返回了么?那不就解决现在水面乱动走形的问题了么?
我们不必自己创建目标体,因为创建柔体的时候,maya提供了选项,我们重新制作这个水面,回到第一步(删除除了曲面以外的所有物体就好了),重新创建柔体,这个我们这样选择:
这次我们不使用默认的选项了,我们使用:Duplicate,Make Copy Soft(复制,将复制的面变成柔体),然后选择Make Non_Soft a Goal(把不是柔体的面变成目标体),然后将目标权重设置成0.2。
这意味着,柔体创建了,同时柔体的粒子有一个目标体,这个目标体又是和本身模型一样的模型,那么每一个粒子,就都吸附于相应的点(权重0.2);而柔体模型的控制点又完全吸附于柔体粒子,这样一种关系,非常奇妙:
可以从outliner里面看到整个柔体的结构是什么样子的:
CopyOfNurbsPanel变成了柔体,而原来的面NurbsPanel变成了柔体粒子的目标体,于是我们再为粒子创建动乱场:
将目标体隐藏起来看效果:
粒子受到动乱场影响而混乱,又受到目标体吸引而向原来的位置恢复移动,于是水面的感觉出来了,唯一缺少的就是水面那种表面的张力了,于是为粒子添加弹簧,使用前面的标准选项:
效果如下:
最终,柔体粒子受到三种力的影响:动乱场的混乱力,目标体的吸引力,还有弹簧产生的表面张力,最终柔体粒子产生了水分子的运动轨迹,带动柔体模型产生了水面的感觉,给表面水的材质,就能创造出逼真的水的效果:
最终效果如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。