maya粒子系统学习笔记总结

更新时间:2023-09-28 13:16:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

maya粒子系统学习笔记总结 (2011-11-16 17:21:06)转载▼ 标签:教育

1.用粒子系统时,涉及到动力学的解算,打开preferences,在playback-playback speed的模式选择为play every frame,然后把帧数提高,在file-new scene,在new scene options的playback start/end和animation start/end。

2.particles-create emitter来创建粒子发射器,打开发射器的属性,emitter type-directional(有方向性的发射器),omni(全方位的发射器),surface(表面发射器),curve(曲线发射器),volume(体积发射器)。

3.emitter-distance/direction attributes,min distance和max distance是控制粒子发射范围,最小范围和最大范围。

4.particleshape-render attitudes,particle render type,在这里可以选择粒子类型。

5.从模型上发射粒子,emit form object。Omni是全方位发射粒子,在物体的每个节点都会发射粒子,相当于每个节点都是发射器一样。和模型点的数量和位置有关。 directional是方向性的发射粒子,也是跟物体节点的数量和位置有关,也和物体的法线有关,显示法线的方法:display-polygons-face normals

surface是表面发射粒子,就是模型的表面上随机的发射粒子。 curves是曲线发射,在线或线的周围随机发射粒子。

注意:在曲线上发射粒子,不要使用surface方式,因为这是曲面方式,曲线没有面,所以发射不出粒子。

6.体积发射器的创建:particles-create emitter,options-emitter type选择volume,在属性栏中,volume shape可以体积发射器的形状。

在particleshape,count是粒子的数量,max count为-1时,是无限个粒子发射,改成其他数字就是粒子的最大数量。

勾选die on emission volume exit,粒子只在发射器的内部发射粒子。

7.让多个发射器发射同一套粒子:window-relationship editor-dynamic relationships 先选中粒子(particle),在selection modes:选择emitters,里面会呈现出场上的发射器,按下其中一个发射器,有颜色的话,说明该发射器可以发射粒子,如果没有颜色的,说明该发射器不会发射粒子。

选中所有的发射器,即可是所有的发射器发射同一套粒子。

8.删除粒子,选中所有的粒子,按delete键删除。

9.选择directional发射器的粒子,是和模型点的数量和位置有关,发射器的属性栏中,spread是控制粒子的扩散范围的,spread的值达到1,粒子180度扩散。 directionX,Y,Z是使粒子从哪个方向运动的。

10.particles-instancer(replacement);粒子替换

1:单个物体的粒子替换:先选中替换粒子的物体,然后选中粒子,注意是选中粒子,不是发射器,然后在particle instancer单击,即可进行粒子替换。 2:多个物体的粒子替换:(1)先选中替换粒子的物体,这时不用选中粒子,打开particle instancer options,instanced objects的框里会有替换的物体,然后勾选allow all data types,就是允许所有的数据类型,然后单击apply应用。

在particleShape1里有个add dynamic attributes(添加动态属性),单击general添加属性,在long name输入属性的名字,在data type里勾选float,在attitude type勾选per particle(array),然后单击add添加属性。

(2)在per particle(array)attributes,会多出一个属性,假如你刚才属性的名字叫num,在这里就会多出这个num属性,选中num属性,右键-creation expression(创建表达式),弹出expression editor,在expression里输入表达式:particleShape1.num = rand(0,2); rand是random function(随机函数),rand(0,2)是索引从0开始,2是只有2个替换粒子的物体。

general options的object index里选择新添加的属性就行了,在这里选择num。

(3)要继续添加替换粒子的物体,选中该粒子,然后在属性编辑器中,选择focus-particle1,在选择instancer1的instanced objects,单击add selection即可添加物体。

注意这时要改变脚本,打开num的表达式编辑器,然后修改脚本,particleShape1.num = rand(0,3);改为3,既可以使用3个替换粒子的物体。如此类推,添加多少个,就改多少。

11.particle-create emitter,打开emitter options,emitter type选择volume,就可以创建一个体积发射器。

体积发射器的粒子发射的方向是由Along Axis这个轴向决定的,设置正值后,粒子会向上移动。

12.在物体大纲里,选中粒子,然后按ctrl+H,可以隐藏粒子。 shift+H显示粒子。

13.(1)particles-particle tool(画粒子工具),number of particles是画出粒子的数目 在场景单击时,在回车之前,都可以删除局部粒子,只要按delete键就可以删除了,按insert键可以调整粒子的位置,按回车才确定粒子的形成。

(2)当number of particles的值超过1时,maximum radius(最大半径)就会激活。这样可以创建多个粒子。

(3)勾选sketch particles后,按住鼠标左键就可以连续的生产粒子。 (4)particle spacing是控制粒子与粒子之间的间距。

(5)勾选create particle gird,创建粒子网格,在场景单击两个点,按enter键既可以创建出一个网格的粒子。

此时placement是with cursor,当使with text fields,则是根据minimum corner和maximum corner的值,再按enter键就可创建粒子阵列。 这样就可以快速的创建粒子阵。

14.在粒子阵中,是某一排粒子替换成其他物体,选选中两个物体进行粒子替换后,在particleShape1里有个add dynamic attributes(添加动态属性),单击general添加属性,在long name输入属性的名字,

在data type里勾选float,在attitude type勾选per particle(array),然后单击add添加属性。然后在场景中单击右键-particle,在选中某一排粒子,在window-general editors-component editor,

在component editor的particle中,会显示你选中的粒子,然后最右边会出现新添加的属性,例如ID,先看一下你所要替换的粒子的索引是多少,如果是1的话,则全部都改为1.

最后在general options的object index里选择新添加的属性就行了,在这里选择ID即可,名字可以任意取的。

15.用场来控制多个粒子的运动:field-uniform,建立一个统一场,在layer editor里修改某些属性,magnitude是场的大小,attenuation是衰减值。可以对场的大小做关键帧。 在particleshape的conserve(使守恒,可以说是惯性),把其值改为0,那么粒子就不会一直的运动了。

16.粒子的类型:render attributes-particle render type point:小圆点。

multiPoint:每一个粒子周围都有额外的粒子。 spheres:小球

sprite:精灵贴图,每一张图都朝向摄像机。 streak:适合制作雨,火星。 multistreak:同上。

粒子分为硬件粒子和软件粒子:

后面有(s/w)对应软件粒子,其他为硬件粒子。

numeric这个粒子类型是显示粒子的ID号,是不能渲染的。

在render view 里选择maya hardware来渲染硬件粒子,maya software来渲染软件粒子。 硬件渲染速度优于软件渲染,品质则略差。 mental ray是两种粒子都可以渲染的。

17.(1)soft/rigid bodies-create soft body 建立柔体,柔体实际上也是使用了粒子系统。 建立柔体之后,模型每一个点上都有一个粒子,这样可以使粒子来控制模型。 给粒子添加一个扰乱场(fields-turbulence),模型会发生形变。

(2)用柔体来模拟凹凸地形,创建一个surface曲面,然后创建柔体,接着添加一个扰乱场,最后结合雕刻工具(就是在polygon模式下的mesh-sculpt geometry tool)来形成凹凸的平面。 如果你觉得这样可以了,就要初始化粒子,solvers-initial state-set for selected初始化粒子。

(3)加弹簧,使粒子与其它的物体产生联系,soft/rigid bodies-create springs。先选中粒子,然后在选中物体,最后再建立弹簧即可。

要想某些粒子和物体建立弹簧的话,要右键-particle,才可以选中粒子。

18.建立刚体;主动刚体(active rigidbody)和被动刚体(passive rigidbody) 主动刚体碰撞到被动刚体后,会产生反应,会发生反弹的效果。 注意:不要对主动刚体建立关键帧,被动刚体可以建立关键帧。 被动刚体不会受到场的影响,即不会受到动力学的影响。

复制刚体后,刚体还是一样的,必须重新创建刚体。

在大纲,先选中刚体,再加选场,在fields-affect selected object(s)建立刚体与场的链接。 想在大纲中看到刚体,就要按outliner的display-shapes勾选上就能看到了。

创建刚体的时候,要把pulldownIt这个破碎插件去掉,去掉方法:

window-settings/preference-plug-in manager,把pdimaya.mll的loaded和auto loaded去掉勾选即可。

19.solvers-memory caching 将物体的运动存储到内存不是硬盘中。

执行memory caching-enable后,可以倒着播放,可以在时间线上自由拖动。 当你对物体的属性进行修改后,必须执行memory caching-delete才可以看到修改后的效果。 执行memory caching-disable,就不可以执行memory caching(记忆缓存)

20.烘焙关键帧:当你进行动力学解算之后,这样就可以转换为关键帧,方便别人做动画,渲染等。

动力学计算是比较慢的,转换为关键帧后,就不会慢了。 edit-keys-bake simulation 烘焙关键帧:

bake simulation options:在channels默认的是all keyable,就是所有可以建立关键帧的属性都进行烘焙,其实有时候没有这个必要全都烘焙。

这时你就选择from channel box,在右侧channel box栏中可以看到建立了关键帧的属性,淡黄色的都是,然后选中这些属性进行烘焙。

21.edit-delete by type-rigid bodies 删除刚体

22.如果你觉得烘焙后的关键帧太多太密集,打开window-animation editors-graph editor, 先选中有关键帧的曲线,在curves-resample curve,options里,time step的值,把其值增大,从而减少关键帧的数量。

如果设置为10的话,就是每10帧建立一个关键帧。

23.effect-create fire:创建火

在outliner选中particle,然后在属性面板的particleshape1的goal uv set name: (1)fire scale:火焰的缩放 (2)fire speed:火焰的速度 (3)fire direction:火焰的方向 (4)fire density:火焰的密度

(5)fire turbulence:火焰的紊乱值 (6)fire start radius:火焰初始半径 (7)fire end radius:火焰结束的半径 (8)fire intensity:火焰的强度 (9)fire lifespan:火焰的生命值

在render attributes-particle render type可以选择粒子的种类。

24.effect-create smoke:

file-project-set 设置工程目录

将烟的序列图放在sourceimages下 序列图要带有alpha通道

选中物体或着某些面,然后在create smoke effect options:

sprite image name 输入烟雾序列图的第一张图的名称包括扩展名,并且要勾选cycle image即可创建烟雾。

在smokeparticleshape1的render attributes: sprite scaleX/Y :整体控制烟的大小。 sprite twist :整体控制烟的旋转角度。

在smokeparticleshape1-extra attributes smoke opacity:控制烟的不透明度。

smoke threshold:控制什么时候这些烟变得不透明 0代表刚开始的地方烟的透明度小,即烟越浓。 1代表结束的地方烟的透明度小,即烟越浓。 还可以对烟添加扰乱场

sprite类型的粒子是硬件粒子使用maya hardware硬件渲染。

在smokeemitter1的basic emitter attributes的rate(paticle/sec)是烟雾的产生速率。

25.effect-create firework(创建烟火): (1)烟火的结构:

launch position(烟火发射位置) trails(烟火轨迹)

bursts or sparks(烟火盛开部分) max burst speed 控制烟火盛开大小

min/max sparks count 控制焰火盛开部分火星数量

show all burst/launch position 显示粒子ID号只有0和1两个值,0为off,1为on trial emit speed 速度的倍数

trial min/max tail size 控制trail(轨迹)的大小

(2)display geometry设置为off 硬件渲染得不到发光效果。 选中fireworksrockets的属性,在fireworkrocketsshape: 勾选上show burst/launch position 显示粒子ID号 launch frame 控制哪一帧烟火发射

勾选上show burst posmanip修改烟火盛开位置。

show launch posmanip修改烟火发射器的位置。 注意:勾选上上面两个按钮之后,会自动弹到别的面版,这时,在属性面板上的list-auto load selected attitude去掉勾选就行了。

26.effects-create lighting:创建闪电 (10crete lighting effect options: 假设在四个圆环来做闪电的媒介---

在creation options :----

选择all 每一个圆环之间都会建立lighting 选择in order 按顺序建立lighting

选择from first 是使每个圆环都喝第一个选中的圆环连接。最好在大纲里来进行选中比较方便,选中的第一个就是闪电的链接球了。 (2)制作魔法球:

先建立一个透明的大球,在大球的中间建立一个小球,然后建立多个小球,让它们和大球产生约束。

建立约束的方法:在animation模块 constraints-geometry 将小球限定到大球上。必须先选中大球,在选中小球才可以建立约束。

然后对小球做动画,做完动画后,你想小球一直不停的反复运动,在window-animation editor-graph editor,curves-post infinity-oscillate 使小球一直运动。 (3)在这里选择from first的模式curves segments 是闪电的段数。 闪电的属性在lightning。thickness 是闪电的厚度。 max spread 控制lighting 的平滑度

(4)window-general editors-connection editor(连接编辑器) 使每一个属性控制多个属性,在大纲里选中物体,然后打开连接编辑器,在左边选中属性后,在后边也选择属性,最后点击reload right即可,即左边物体的属性控制右边物体的某个属性。

可使一个物体的某个属性来控制多个物体的某个属性,只要在右边栏选中属性后,依次在大纲里选择物体即可。

27.effectscreate shatter 制作破碎 (1)surface shatter(表面破碎) 可以删除历史,再执行破碎命令 options:

shard count:是破碎的数量。

extrude shards 控制碎片的厚度。 extrude shards<0 碎片厚度向内挤压。 extrude shards>0 碎片厚度向外挤压。 seed value=0 每次破碎效果不一样。 seed value>0 每次破碎效果一样。

在channel box里的polyextrudeface2的local translate Z 控制破碎之后碎片厚度。

(2)solid shatter(固体破碎):

固体破碎后,破碎的物体时实心的,而且是黄色的破碎面。

在solid shatter的options-edge jagginess这是控制边的平滑程度。 edge jagginess>0 得到不平滑的表面

勾选link to shards 生成一个shatter属性,这是控制原模型和破碎模型的显示。

小球碰撞平面:

创建一个平面,平面的collision layer值为-1 能够和小球发生碰撞。

因为小球的collision layer为0,要想发生碰撞,平面的collision layer的值必须比小球的

collision layer的值小。 给小球实施破碎,post operation选为rigid bodies with collisions off,并且勾选link to shards。 勾选link to shards ,原来的小球生成一个shatter属性,0为off,既不显示破碎,1为on,即显示破碎。

可以通过它建立关键帧,让它刚开始为小球,到快要碰撞的时候,把shatter为on即可。

28.crack shatter(裂缝破碎):

要先选中一个点后,然后再进行破碎。 布揉动效果:

post operation选为softbodies with goals original surface:

nothing:是对原来的模型不做任何处理,破碎后依然保留, hide:是对原来的模型进行隐藏,只显示破碎后的模型。 delete:是对原来的模型进行删除,只留下破碎的模型。

29.effects-create curve flow 使粒子沿路径运动 通过曲线来控制运动轨迹。

在大纲里选择flow_particle,在flow_particleshape的render attitudes的particle render type里选择粒子类型。

选中曲线,右键-control vertex,进入点的编辑模式,对曲线进行修改,粒子也会随着曲线运动。

曲线的圆环是控制粒子活动范围的边界。

在大纲里circles-flow_scalableCircles里面的control_circle,这里有很多个圆,选中这些圆,在layer editor有scale X可以统一调整圆环的大小。

在大纲里的flow的layer editor:

lifespan 控制粒子生命周期粒子运动速度。 emission rate是控制粒子的速率。

locator XXX position的locator越密集粒子速度越慢。

30.effects-create surface flow(使粒子沿模型表面运动):

不要在大纲中手动删除surface flow,必须在effects-delete surface flow,在其options-delete surface flow particles 彻底清除。 如果你觉得粒子发射的情况不对,在surface flow effect options的manipulators along选择UV的方向即可。

surface flow effect options:

control resolution:确定控制器的数量

sub-control resolution:在两个控制器之间添加子控制器的数量,在surfaceflow的属性面板-extra attributes,把display sub manips,就可以显示子控制器了。

surfaceflow属性:

VLoction 0-4:调位置可以改变粒子速度

min/maxU 0-4:调节控制器的长度控制哪些地方有粒子。 max/min distance:调节控制器的宽度控制粒子运动范围。

max age ratio1: 控制粒子在哪里死亡。

goal weight1:控制粒子是否可以很好的贴合着模型运动。

为粒子添加颜色:

在大纲选中粒子,在属性面板,particleshape1-add dynamic attributes,单击color, 然后勾选add per particle attitude 为每一个粒子添加颜色

这是per particle(array)attributes会多出一个属性,就是RGB PP。 右键RGB PP-create ramp(创建渐变色) 取消RGB PP,右键-break connection

要想粒子沿着UV轴运动,右键-create ramp option,在input U和input V里分别选择parent U和parent V即可。

render attitudes里的particle render type(粒子类型)选择streak,streak是条纹形的粒子。

31.point粒子属性:

points 为硬件粒子maya hardware渲染 particleshape-render attitudes: 按下current render type----

勾选上color accum(accumulation)粒子交叠越多越亮。 normal dir(direction)与灯光有关系只有1,2,3三个值。

normal dir值为1 粒子朝向灯光移动它们被照亮远离灯光变暗。 normal dir值为3 3与1完全相反。 normal dir值为2 粒子背后没有光。 point size:点粒子的大小。

点击color按钮勾选add per object attitude为粒子整体添加颜色。

32.streak粒子属性;

particleshape-render attitudes: 按下current render type----

tail fade值为1 头尾一样粗,控制头尾的粗细。 tail size 控制streak粒子长度

emitter属性:

streak粒子的长度与速度有关 speed值越大长度越长。 tangent speed 正负数粒子的旋转方向不同。

33.multipoint 每一个粒子周围都有额外的粒子。

使用少量粒子用multipoint得到许多粒子不会影响模拟速度。 normal speed值为-1 改变粒子发射方向。 multi count:增加额外粒子的数量 multi radius:是粒子之间的距离。

34.Numeric粒子属性:

这是显示粒子的ID号的粒子类型,这是不能渲染的。

particleshape-render attitudes: 按下current render type----

勾选selected only 只显示选中的粒子的属性。 在attitude name 上输入mass 显示质量 输入lifespan 显示生命值

把lifespan mode选为live forever,输入lifespanPP显示INF是说明粒子永远存在。 输入velocity 显示速度

35.spheres粒子属性:

一般模型使用柔体后,显示的是point粒子 这是可以用spheres粒子来方便观察。 它是硬件渲染的。

36.sprites粒子属性:

每一个粒子上可以现实相同或者不同的图片序列 使用的图片最好带有alpha通道 在导入贴图的时候: file:

勾选use image sequence 使用序列图。 按顺序的显示序列图:

image number右键-edit expression

表达式:file1.frameExtension=frame % 8;意思:就是当前的帧数除以8后,所得的余数就是显示序列图的序号,如果是1,就显示序号为1的图。 ctrl+鼠标中键放大表达式。

37.blobby surfaces粒子属性: 这是软件粒子。

particleshape-render attitudes: 按下current render type----

threshold 控制粒子与粒子的融合程度

blobby surfaces 类型的粒子可以使用材质。 使用这个粒子可以实现液体融合的效果。

38.cloud粒子属性:

给粒子添加材质,右键-particlecloud

particlecloud-common material attributes--- color:调整粒子的颜色。 transparency(透明度):也可以设置颜色。 transparency属性:

(1)density:云彩的密度

(2)blob map 透明度的比例系数。打开颜色拾取器,在V的框输入值。 (3)roundness:云彩的圆滑度。 diffuse coeff与光线的发射有关

当diffuse coeff的值设为大于0,surface color就会激活,

surface color的颜色会和云彩的颜色叠加起来,使云彩周围有了颜色。

39.让cloud具有blobby surfaces的表象:

particlecloud2SG的surface material,在surface material属性上使用ramp shader ,并且可以使用预设。但是这时渲染是没有效果的。 这时要选中粒子,回到particlecloud的面板, particlecloud-render attitudes: 按下current render type----

** 有个surface shading,把它的值进行调整就会出现映射了。 threshold是粒子的融合程度,也进行调整。

40.tube粒子属性:

particlecloud-render attitudes: 按下current render type----

tail size 控制tube类型粒子的长度。

radius0/radius1 控制tube粒子头尾半径。

本文来源:https://www.bwwdw.com/article/oyjd.html

Top