Maya新功能演示nParticles烟雾特效.docx
《Maya新功能演示nParticles烟雾特效.docx》由会员分享,可在线阅读,更多相关《Maya新功能演示nParticles烟雾特效.docx(22页珍藏版)》请在冰豆网上搜索。
Maya新功能演示nParticles烟雾特效
Maya2009新功能演示:
nParticles烟雾特效
作者:
史尧 类型:
转载 来源:
火星时代
新的粒子系统
在Maya2009中这是一套全新的粒子系统,我们称之为Maya®nParticles.nParticles使用Maya®Nucleus™系统,这套系统与我们之前接触过的nCloth系统极为相似。
Nucleus系统的最大特点在于,粒子不但可以和ncloth布料进行碰撞,而且支持粒子碰撞与粒子堆积效果。
你可以使用基于Nucleus系统的nParticles进行nConstraints(新的动力学约束系统)来创造出更多的粒子特效,这和以前的粒子系统大相径庭。
就好比其他Nucleus物体,nParticle可以被分配到一个系统进行迭代方式求解。
图1
此外,基于Nucleus的动力学系统,nParticles同样可以以Maya经典粒子系统进行goal运算,几何体替代,以及精灵替代特效.nparticles也可以操纵外部非Nucleus力场,例如风场与重力场等。
图2
nParticle碰撞
当nparticles创建时,它们能够自动撞击ncloth布料,被动的对象,和其他nparticle粒子.当nParticles与nCloth进行碰撞时,你可以对nParticles进行立场添加以驱使nCloth进行形变.例如,你可以创建一个nParticle制作的雨滴特效溅在一个由nCloth制作的雨伞上,来模拟雨中前行特效.nParticles同样支持自碰撞,也就是说,nparticles可以与来自同一发射器的nparticle对象产生碰撞和互动.nParticle同样也只能在nParticles与nCloth或被动物体之间进行碰撞。
(当然也必须是在同一MayaNucleus系统下)
nParticle约束
你可以使用nConstraints去约束与控制nParticles的运动路径以及nParticle与其它的Nucleus系统影响物.例如,您可以约束nparticles到一个有动画的ncloth或一个nMesh被动物,使粒子产生喷溅、燃烧以及模拟烟雾的效果。
.nParticles同样可以被Transform(位置),ComponenttoComponent(元素间),PointtoSurface(店面),SlideonSurface(面滑行),以及ForceField(强制场)等约束。
图3
每粒子属性的内部渐变
nParticles都会有一个每粒子属性内部渐变在nParticleShape节点上.内部渐变可以控制每个粒子的半径、质量、颜色、不透明度以及自发光属性.nParticle的工作原理类似于Maya的ramp纹理,但是可以为变化范围与输入极值以及随机乘数输出极值提供额外的控制。
当你想用表达式进行控制时,每粒子属性的内部渐变节点同样可以被删除。
nParticles与强制场
nParticles提供强制场。
强制场属性可以让你的粒子与ncloth物体产生吸附或排斥。
nPartice强制场以场强决定影响范围。
当然,前提是这个场的影响物必须是激活状态。
图4
nParticles的流体解算
nParticles提供流体结算属性,用来模拟水流、岩浆等流体效果.用来控制流体效果的属性有很多,比如viscosity(粘稠度),这样你既可以创建出湍急的瀑布,也可以制造出滚烫粘稠的熔岩。
图5
nParticle转换多边形
当一个nParticles形成一个形态,并且当我们想把这个静止的融合形态转换成为一个多边形物体时,Maya2009支持nParticle向多边形转换。
nParticle转换的多边形网格和一般多边形一样可以编辑与命令操作.在转换操作前,你可以对精度进行控制.nParticle输出网格同样可以模拟类似Realflow的Mesh输出。
案例准备
为了保证工作流程顺利稳定的进行,请按下列操作进行准备:
请自备一个Maya场景,这里我使用已经制作好的场景,该场景文件包含了已经赋予材质的模型,包括桌子、烟灰缸、香烟以及所有多边形网格。
图6
创建nParticle与发射物体
1. 选择nParticles>CreatenParticles,并且勾选Cloud云方式创建。
图7
勾选Cloud模式时预设了很多nParticle的形状节点属性用来创建例如沿、沙尘以及雾等效果的参数。
2. 创建一个nParticle发射物体,选择nParticles>CreatenParticles>CreateEmitter>
。
EmitterOptions(Create)窗口出现。
图8
3. 在EmitterOptions(Create)窗口中,选择Edit>ResetSettings重置设置。
4. 在Emittername框中,输入Emitter_Smoke.当你在outliner中想选择物体发射器的属性并调整时,发射器的命名就显得尤为重要了。
5. 在Solver列表中,选择CreateNewSolver创建新的解算器.这项操作可以为你的nParticle系统创建一个从属关系的核心解算器。
6. 在Emittertype列表中,选择Volume体积类型.当您尝试从一个特定区域均匀喷出粒子,体积类型发射非常适合模拟从香烟顶部发射的效果。
7. 设置Rate(particle/sec)发射率为100.这个参数设置的数目表示粒子排放的速率而不是速度。
这直接影响场景中粒子发射的密度。
Rate值越高,排放的烟雾就会越浓密。
8. 在Distance/DirectionAttributes(距离、方向属性)卷展栏中,做以下调整:
• 设置DirectionX为0.
• 设置DirectionY为1.
Direction表示发射器发射的粒子与发射器之间的相对位置与方向.当DirectionY设置为1时,nParticle将会沿着Y轴进行发射粒子,用来模拟烟雾在空气中飘的方向。
9. 在BasicEmissionSpeedAttributes卷展栏中,设置Speedrandom为5.当速度随机值设置为一个值时,发射产生的随机速度将会影响每个nparticle系统。
图9
10. 在VolumeEmitterAttributes卷展栏中,做如下操作设置:
• 在Volumeshape列表中,选择Sphere.
• 设置Volumesweep为180.
此设置将会创建一个半球形发射,用来模拟香烟顶部的形状。
11. 在VolumeSpeedAttributes卷展栏中,做以下操作:
• 设置Alongaxis为1.
• 设置Randomdirection为0.1.
这将创建一些方向上的噪波随机值发射出的n粒子并且促使它们可以形成一个锥状发射。
• 设置Directionalspeed为10.
这个设置将会添加一个方向上的速度,它对XYZ三个轴以及所有类型的体积发射器都有效。
12. 点击Create创建发射器.
产生一个Emitter_Smoke1,nParticleShape1,以及一个nucleus1节点出现在属性编辑器中。
图10
nParticle发射器的移动
当你开始进行动力学解算的时候,你将会发现nParticles正在原点开始喷射,这时你需要把发射器移动到香烟的顶部。
移动nParticle发射器
1. 在Outliner大纲视图中,选择Emitter_Smoke1。
2. 选择Display>UIElements>ChannelBox/LayerEditor以显示theChannelBox通道栏。
3. 在ChannelBox通道栏中输入以下数值:
• TranslateX:
49.3
• TranslateY:
120
• TranslateZ:
-27.3
• RotateY:
-90
• ScaleZ:
1.5
4. 在场景视图中,推拉摇移你的视图以便更近的观察香烟顶部。
现在nParticle发射器已经被移动到香烟的顶部了。
5. 进行动力学解算。
nParticles现在已经从香烟的顶部喷射出烟雾了.但是其大小和颜色都是默认值.在下一节中您将会设定nparticle的大小,使粒子的外观更像烟。
图11
编辑生命值与粒子半径
你开始播放解算动力学运算时,你将会发现nParticles并没有在升到空中时消散掉.这是因为nparticles寿命还没有被指定.使用nParticleLifespanattributes(生命周期属性)你就可以调节nParticle何时死亡。
你同样可以设置nParticle的粒子半径以及粒子半径随生命值的变化而如何变化。
设置nParticle的生命周期
1. 打开Outliner大纲窗口,选择nParticle1。
2. 打开AttributeEditor属性编辑器,点击nParticleShape1选项卡。
3. 在Lifespan中,在LifespanMode中选择Randomrange。
4. 进行动力学解算。
nParticles现在发射出来以后很快就消亡了.nParticleLifespan是一个以秒为单位的数据,这就意味着如果Lifespan为1.0时,nParticles将会在1秒钟之后消亡。
图12
5. 设置Lifespan为10。
6. 讲时间滑条退回第一帧,并且从新进行动力学解算.nParticles将会在其喷射出10秒钟后消亡.在本教学案例中,我们设置Lifespan为20。
7. 让我们给nParticle’s的生命周期加入一些随机值,这样我们设置LifespanRandom为15。
8. 将时间滑条退回第一帧并从新播放解算。
nParticle的死亡已经随机了,但是nParticle并不像烟一样浓密.你可以使你的nParticle变得更密集一点,这样我可以增大nParticle的Radius。
图13
为了使效果更像一个烟雾的效果,nParticles必须在它们升到空气中时逐渐的散开。
你可以使用RadiusScaleramp这个值去增加每粒子半径,直到他们看起来像是在空中消散的效果。
设置nParticle尺寸
1. 在ParticleSize中,设置Radius为1.0。
2. 在RadiusScale中,点击一个位置,这样可以增加一个可调节的点。
图14
创建一个新的标记点,这样你就可以调节它的位置与大小.举例来说,每个选定的价值指定一个尺度值为nparticle对象的RADIUS属性。
默认情况下ramp规定一个值为1,也就是说只有一个值标记在Ramp上的时候,这个值全部取1.再设置一个标记点为0.5那么每个粒子随着时间的变化,半径会从1降低到0.5进行类似消散的渐变动画。
3. 选择第一个标记点设置SelectedPosition为0,并且SelectedValue为0.50。
4. 点击第二个标记点.设置SelectedPosition为1,并且SelectedValue为1.5。
图15
5. 让nParticles的半径沿自身寿命而变化,设置RadiusScaleInput为NormalizedAge.当NormalizedAge被使用时,每粒子半径就会随着nParticle的生命周期变化而变化。
6. 设置Interpolation为Smooth。
7. 进行动力学解算.你可以继续调整曲线,直到效果满意为止。
图16
8. 对每粒子半径添加随机值,设置RadiusScaleRandomize为0.25。
设置nParticle材质属性
为了将nParticles调节的更像烟雾,你可以调节不透明度以达到更类似于在空气中消散的效果,这就好比我们调节粒子寿命时那样进行调节。
如nParticle半径属性,nParticle的颜色与不透明度同样可以在每粒子属性中进行设置。
使用nParticle的Shadingramps,就可以调节每粒子颜色与不透明度。
设置nParticle颜色属性
1. 在Outliner大纲窗口中,选择nParticle1.
2. 打开AttributeEditor,点击nParticleShape1卷展栏.
3. 在Shading选项卡中,打开Color栏.
4. 设置其最左侧的标记为白色.
图17
5. 设置中间色为灰色,或者调整色彩模式为HSV(Hue-Saturation-Value):
• H:
0
• S:
0
• V:
0.5
播放解算你的粒子,这样你会发现它更像一个烟雾的效果.
图18
6. 点击颜色曲线中最右侧的标记点,并且打开颜色选择器.
7. 在颜色选择器中选择一个更深的灰色,或者调整HSV(Hue-Saturation-Value)为:
• H:
0
• S:
0
• V:
0.25
8. 设置ColorInput为NormalizedAge.当每个nParticle在其发射后,它的颜色会像之前调节的颜色曲线一样从白色变为深灰色。
9. 为了将nParticles的颜色像它们的寿命一样融合的更好,我们需要做以下操作:
• 设置Interpolation为Smooth(每个标记点都要做).
• 设置ColorRandomize为0.75.
当你进行动力学解算时,会发现烟雾好像有点过于密集和厚实.为了把它变得更薄更透一些,我们就可以调整nParticle的不透明度.
图19
设置nParticle的不透明度
1. 在OpacityScale选项中,点击渐变曲线图,并且设置Opacity曲线图上的三个标记点:
• Position:
0,Value:
1
• Position:
0.63,Value:
0.22
• Position:
1,Value:
0
2. 设置Interpolation为Smooth(每个标记点都要做).
3. 设置OpacityScaleInput为NormalizedAge.
图20
4. 播放并进行动力学解算.
在本案例中,你可以使用Nucleus系统的风去影响烟雾以便它在上升的时候有青烟飘渺的效果.无论哪个Nucleus影响物体(nCloth物体或者其他nParticle物体)t被赋予同样的Nucleus结算系统都同时被强制场(风场)所影响.
设置Nucleuswind风到你的场景中.
1. 打开AttributeEditor,点击nucleus1选项卡。
2. 在GravityandWind栏中,设置WindSpeed为2.0. WindSpeed决定了风的强度与大小.值越大表示风速越强。
3. 设置风的方向,需要做以下设置:
• 设置winddirection为1(Xaxis).
• 设置winddirection为0in(Yaxis).
• 设置winddirection为-1(Zaxis).
4. 设置WindNoise为3.0.这个操作是为了增加风的随机效果。
5. 播放并解算动力学。
图21
现在我们的烟雾已经在空气中自由的扩散了。
你同样可以调整烟雾的解算设置,比如提高nParticle发射速率(Rate)为150或者调节RadiusScale的变化曲线图,颜色、不透明度的变化曲线图等。
本案例到此结束,希望通过此案例,可以让大家对nParticle系统有一个初步的了解。
如果大家能喜欢本文章,作者也就很高兴了。
最后祝愿大家的学业、工作顺利,也希望大家都以更充沛的精力投身CG创作,以后会继续为大家提供最新的maya教学。
至此,敬礼!