当前位置: 主页 > 平面设计 > Maya用粒子制作随机飘散的树叶

Maya用粒子制作随机飘散的树叶

  • 2022-02-05
  • 来源/作者: PS.ONEGREEN.ORG    / 佚名    
  • 2 次浏览

  本教程讲解的是关于用maya粒子技术来制作树叶随风飘散的效果,首先我们来看看图1。

  Maya用粒子制作随机飘散的树叶

  图1

  1、创建一个nurbs平面,如图2。

  Maya用粒子制作随机飘散的树叶

  图2

  2、按f4进入动力学模块,执行particles -> Emit from object操作,并在属性框里选择平面方式,它是平面发射粒子,为使粒子向下运动,设置“Normal Speed”大约为-2,设置rate 大约10至

20。向前拨一下时间划块,你就可以看到粒子出现了。选择粒子(可以通过outline选择),给他添加重力场(gravity field),设置magnitude=5 ,attenuation=0。再添加扰动场(turbulence field),设置magnitude=10 and attenuation=0,可能场景的大小尺寸不同,上面这些设置参数可能不同,最终效果是使粒子扰动,并且慢慢落下,还要试验一下粒子的conserve这个参数,我发现0.92就可以。

  Maya用粒子制作随机飘散的树叶

  图3

  3、为了测试,先创建一个简单的多边形树叶,叫他来替代粒子,选择树叶,(这时候不需要选择粒子)打开particles->Instancer(replacement) ,使用默认设置就可以,注意Particle Object to Insta

nce那个选项里选择正确的粒子。现在粒子已经被树叶替代了。

  Maya用粒子制作随机飘散的树叶

[NextPage]

  图4

  4、打开粒子属性编辑器——particle-shape,在“Per Particle (Array) Attributes”下面添加一个“General”动态属性,命名为“rotPP”,Data Type 为 “Vector”,Attribute Type 是“Per Particle (Array)”, 点击ok。

  Maya用粒子制作随机飘散的树叶

  图5

  5、在Per Particle (Array) Attributes下面你可以看到这个新添加得属性,在上面点击右键选择Creation-expression particleShape1.rotPP = rand (0,360);给rottPP一个从0到360的随机值。现在不必关闭这个编辑框,下面还要用。

  Maya用粒子制作随机飘散的树叶

  图6

  6、添加一个runtime-expression,在时间上控制这个值,选择runtime这个选项particleShape1.rotPP += 0.001;这个式子还可以写成particleSh

ape1.rotPP=particleShape1.rotPP + 0.001; 就是在上面Creation-expression为每片树叶创建的值再每经过一帧加上0.001。

  Maya用粒子制作随机飘散的树叶

  图7

  7、现在告诉maya使用“rotPP“这个值来控制粒子的旋转,进入“instancer“得particle shape节点,在这个Rotation OPtions里面设置Rotation为 rotPP (Rotation Type设置为none就可以)。

  Maya用粒子制作随机飘散的树叶

[NextPage]

  图8

  8、测试一下动画,可以看到树叶被扰动,并随机的旋转。

  Maya用粒子制作随机飘散的树叶

  图9

  9、为了控制,停止旋转当树叶碰到地面的时候,我们需要稍微修改一下表达式。首先再创建一个平面作为地面,设置粒子和地面的碰撞,保持地面被选择,再选择粒子,使用particles -> Make collide,设置friction=0.8-1。

  Maya用粒子制作随机飘散的树叶

  图10

  10、设置参数的效果是使粒子在碰撞地面后能基本停下拉,速度基本为0。

  11、测试一下,虽然粒子停在了地面,但还是在一直旋转,这不是我们想要得,为了编辑一下,我们需要考虑粒子的velocity(速度)这个选项,打开粒子属性编辑器,打开 particle-shape 节点。点击右键,编辑 runtime表达式。我先创建一个新的变量们来读取粒子的velocity(速度),在把这个值除以2000。

  float $vel = (particleShape1.velocity)/2000;

  现在,我们用$vel这个变量来替代以前我们设施的0.001。

  particleShape1.rotPP += $vel; 。

  Maya用粒子制作随机飘散的树叶

  图

11

  这个意思就是说,当粒子撞击到地面的时候,速度很小了,几乎为0 了,所以变量$vel为0 ,每帧得旋转值不变了,所以粒子就不再旋转了。

  Maya用粒子制作随机飘散的树叶

  图12