当前位置导航:炫浪网>>网络学院>>图形图像>>MAYA教程

了解maya粒子—动力学系统的使用

MAYA最令人称道的是它的粒子—动力学技术,这使用建模和动画方面的技术不可能实现的效果成为可能,比如爆炸,旋风或者成群飞舞的昆虫。maya的粒子—动力

系统相当强大,一方面它允许使用相对较少的输入方便的控制粒子的运动,令外可与各种不同的动画工具混合使用,也就是说可以与场,关键帧,Expressions

等相当方便的结合使用。MAYA粒子—动力学系统让即使在控制大量粒子时的交互性作业成为可能。

以下的教程能帮助读者逐步了解MAYA粒子—动力学系统的使用。它将描述使用粒子相对快捷的建立一个爆炸效果的过程,但maya基础使用命令将不再一一详述。大

部分内容对于有经验的读者应相对容易理解,最后教程还会对重要步骤给出附加信息和注释。


粒子设置:


1.首先设置一个directional Emitter(Base)
粒子发射器。directional Emitter发射的粒子要与另外三个发射器:Omni Particle Emitter"(Fire, Smoke & Sparks)通过Emit from Object相联接。


2.Base粒子发射器有以下属性:Direction Y = 1 , Direction X = 0, “Spread” = 0.7, “Speed” = 5


3.Base发射强度Rate设置关键帧为:frame 0 = 0, frame 60 = 100, frame 70 = 0
Grapheditor里改用Stepped类型的Tangenten 见图

4.设置Fire, Smoke 和 Sparks发射器为:
Fire_Emitter: Rate = 35 Speed = 0.2, NormalSpeed: 0.3
Smoke_Emitter: Rate = 30, Speed = 0.2, NormalSpeed = 1
Sparks_Emitter: Min Distance = 0.3, Rate = 50, Speed = 0.7, SpeedRandom = 0.3, Normal Speed = 1


5.粒子特性设置为:见图1—3
Fire_Particle:
Dynamics Weight = 0.3, Inherit Factor = 0.5, Lifespan: Random range (3.000 / 0.500), Particle Render Type: Cloud (s/w)
- radiusPP* = Ramp, Vinput = particle age, Array Mapper Min: 0.100, max 0.300
- rgbPP* = Ramp, Vinput = Particle age, ramp 由白到黄

Smoke_Particle:
Inherit Factor = 0.4, Lifespan: Random range (8.000 / 2.000), Particle Render Type: Cloud (s/w)
- radiusPP* = Ramp, input = particle age, Array Mapper Min: 0.000, max 1.300

Sparks_Particle:
Inherit Factor = 0.5, Lifespan: Random range (0.700 / 0.300), Particle Render Type: Tube (s/w), Radius0 = 0.100, Radius1 = 0.050,

Tail Size = 4.000


* 注: PerParticle Attributes必须通过"Add Dynamic Attributes"添加

rgbPP, radiusPP 表示 "RGB Color" 和 "Radius"要从PerParticle Atttibutes目录里选出,选取General项==> Particles项找到相应属性添加。然

后可以看到新添加的属性,右键建立ramp贴图,Vinput = particle age。再修改Arraymapper。


6.动画
添加重力场控制粒子动画,并与相应粒子建立连接。
GravityField1 施加于 Fire: Magnitude = 2
GravityField2 施加于 Smoke,Sparks: Magnitude = 0.5
TurbulanceField 施加于 Smoke: Magnitude = 1



7.材质设定
Sparks:设定color为亮黄色,transparency为低值,incascendance 为高。
Smoke: 在Life Transparency 用ramp控制颜色和透明度。浅灰和深灰的过渡,见图4。
Fire:在Life Transparency 用ramp控制颜色和透明度,但这里是透明度先减后加。见图5。Fire颜色已在rgbPP里确定了,但要通过Particle Sampler Info

Node与材质连接。这样做的好处不仅是可通过粒子寿命控制颜色而且可使用Expression控制。

ramp设定可见图1—5参考。





技巧:还有几个常用粒子技巧。一个常见问题是回放与最终渲染有偏差。这是由于粒子动画每次都要被重新逐帧演算。可以使用Create Particle Diskcache,这样粒子的位置就可以被存储并被随后用于渲染,而且可以缩放动画时间。另外应用Dynamic Relationships Editor连接场和粒子,方便关联建立和删除。举例如图。


Particle Expressions:最后再简单谈谈Particle Expressions。一个例子:发射器盘旋运动,同时粒子随机得到蓝色调并闪烁。
使用Omniemitter并设定Conserve Value为0.95。这样粒子的运动能量会随时间递减。

然后写个盘旋运动Expressions:
emitter1.translateX = time;
emitter1.translateY = sin (time);
emitter1.translateZ = cos (time);

再用PerParticle Attribut的 rgbPP写变色Expressions:
particleShape1.rgbPP = rand (<<.2,.2,.6>>,<<.3,.3,.8>>;
这里的<<.2,.2,.6>> <<.3,.3,.8>> 表示RGB值随机产生。如果作为Runtime expression使用,粒子每过一帧就会随机变色。

同理作闪烁Expressions:
particleShape1.opacityPP = rand (0,1);

可作这样的Runtime Expression:
particleShape1.opacityPP = particleShape2.velocity;
它会让Opacity值随粒子速度变化。可以再发展一下,使它们互相影响:
particleShape1.opacityPP = particleShape1.velocity * rand (0,1);

如上所示用几个公式集,数学变化和有趣的想象就可以做出各种各样的粒子效果。以上两个粒子可在MAYAforum.de下载
相关内容
赞助商链接