1 、创建一个简单的 nurbs-plane ,将它的 patches u 和 patches V 都设为 3 。



  2 、选择这个平面,按 F4 进入动力学菜单,给平面一个粒子发射器,不过先进入命令后面的黑色方块按钮( optionbox ),设置发射器的选项,( F4 -%26gt; particles -%26gt; Emit from object-%26gt; optionbox )。

  我们准备让叶子往 -y 方向下落,将 Emitter Type 设为 Surface , Rate 为 10-20 之间(多少你自己看了),把 Basic Emission Speed Attributes 中的 Normal Speed 设为 -2 ,然后按 create 。你现在点播放动画,就会看到粒子了。

  打开 Outliner (大纲),选中 particle1 (粒子),给它一个 gravity (重力场),将 gravity 里面的 magnitude 设为 5 , attenuation 为 0 。

  然后我们再加入 turbulence (扰乱场),将里面的 magnitude 、 attenuation 分别设为 10 和 0 ,这些设置只是我个人的,你如果觉得飘的慢或快,你也可以加大或缩小设置,看看效果。现在就我的过程中,还得在 particleShape1 里将conserve 设为 0.92 。



  3 、现在,我们用 polygan 做一两张树叶,然后用( particle-%26gt;Instancer )粒子替换命令,大家就会看到那些粒子变成树叶了



  4 、 Ctrl+A 打开( attribute editor )粒子属性,在 particle-shape 中的 add dynamic attribute 里点击 "General" ,创建新属性(设置如下图)。



  5、 在 "Per Particle (Array) Attributes" 中,会看到新增加了一个属性 ——rotPP ,现在我们用鼠标右键点击它,创建一个表达式( Creation-expression ),看下图:

  设为 particleShape1.rotPP = rand (0,360);



  6 、我们还得创建一个 runtime-expression (下图),来控制粒子的随机运动值。设为 particleShape1.rotPP += 0.001;

  "+=" 在这里面的意思是每帧加 0.001 的值。



  7 、现在我们打开 particleshape 属性框,将 Rotation options 里面的 Rotation 设为 "rotPP" 。



  8 、 我们按 play 测试动画,叶子在空中无规则的旋转飘落。



  9 、 我们想象怎么能让叶子落到地面上去呢?其实很简单。我们再做个平面(如图),记住要比第一个面大。然后先选择刚做的平面,按住 shift 再选择 particle1 (就是叶子,也可在大纲视图里选),给它们一个( particles-%26gt;make collide )碰撞命令 , 设置 friction 为 0.8-1 (如图)。



  10 、播放动画,大家会看到粒子落到地面后还是在那旋转,这不是我们想要的。我们还得进入表达式编辑器里设置 "velocity" 值( Attribute-Editor-%26gt;particleshape ) , 在 Per particle (Array) Attributes 里的 "rotPP" 上用鼠标右键点击,然后编辑 runtime 表达式。我们增加新的一小段 MEL (如图)。



  11 、现在粒子落到地面不会动了:)因为速度周转率为 0 ( velocity=0 -%26gt; $vel=0 ),完成。


,maya动画实例,maya动画