版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模块一:Particles粒子系统通过提出问题来引导学生思考选择创建粒子的方法和粒子渲染形态,创建简单的表达式控制粒子的新建属性,理解场的概念并掌握使用其方法。我们在实践案例中讲解工具使用和参数设置,重点培养学生解决问题的方法。本章重点●熟悉粒子的基本概念和发射器基本属性。●会使用三种方式创建粒子。●设定粒子颜色和不透明度。●渲染粒子形式。●创建粒子碰撞。阶段教学目标模块一:Particles粒子系统CONTENTS目录案例一:萤火虫空中闪烁飞舞1案例二:墙上画门2案例三:墙体爆炸3案例一:萤火虫空中闪烁飞舞1一、制作思路二、制作过程问题1:怎样创建萤火虫?问题2:怎样让萤火虫发光闪亮?问题3:萤火虫拖尾效果?问题4:萤火虫怎样运动变化?一、制作思路我们知道萤火虫是边飞边闪烁着它的“小夜灯”的,并在快速飞行的过程中,看起来似乎后面拖着一个淡淡的“小尾巴”,此案例中我们就是要制作一群拖着小尾巴并不停闪烁飞过的“粒子萤火虫”。图1-1在思考特效制作过程之前需要整理制作思路,最好的方法就是问问题,制作特效的过程就是解决问题的过程,随着问题的细化制作思路变得越清晰。Tips案例一:萤火虫空中闪烁飞舞图1-1二、制作过程2.如何让萤火虫发光发亮3.制作萤火虫拖尾效果1.创建“萤火虫粒子”4.萤火虫运动变化案例一:萤火虫空中闪烁飞舞有三种最常用的方式创建粒子,如图1-2。(1)粒子工具;(2)创建发射器;(3)通过物体发射粒子。案例一:萤火虫空中闪烁飞舞1.创建“萤火虫粒子”图1-2创建粒子的三种方式使用这种方式可以在三维空间里面任意位置创建粒子。这种方式创建的粒子是静止的。ParticleTool(粒子工具)这种方式可以创建三种发射器类型,由发射器发射粒子,当你播放时间滑块的时候,粒子以你在属性面板中设置的参数值进行运动,如图1-3。CreateEmitter(创建发射器)它的属性面板基本上和上一种创建方式相同,不同的地方在于它的发射类型是从物体上的点、表面、曲线上面发射粒子,如图1-4。EmitfromObject(从物体发射粒子)案例一:萤火虫空中闪烁飞舞图1-3创建发射器属性面板图1-4从物体发射粒子类型选中粒子发射器,Ctrl+A打开粒子发射器属性编辑器,调节粒子发射属性,发射类型为Surface(表面发射),发射量为5000,发射速度为10,随机速度为5,如图1-5、图1-6。(2)在这个案例中为了使萤火虫看起来更加有空间立体感,我们使用一个面片来发射粒子。选择第三种创建粒子的方式EmitfromObject。打开Maya文件,在场景中新建一个面片,点击选中面片之后,在动力学系统下Particle→Emitfromobject。(1)案例一:萤火虫空中闪烁飞舞图1-5发射率(每秒发射的粒子数)图1-6发射速度/随机速度属性(1)Windows→Outliner(大纲视图)中选中刚刚生成的粒子Particle1,Ctrl+A打开粒子的属性编辑器,在particleShape1(粒子形态节点)选项下面的RenderAttributes(渲染属性),在ParticleRenderType(粒子渲染类型)中选择Cloud(运粒子),如图1-7。2.如何让萤火虫发光发亮如果你发现渲染出来的场景中什么都没有,那么可能你使用了错误的渲染器。Tips案例一:萤火虫空中闪烁飞舞(2)改变粒子颜色和大小粒子大小随机变化在粒子形态节点下的AddDynamicAttributes(添加动态属性)可以在这里为粒子添加General(常规属性)、Opacity(透明属性)、Color(颜色属性)。我们先要改变粒子的大小形状,所以执行General→Particle→RadiusPP命令,如图1-8、图1-9。2.如何让萤火虫发光发亮radiusPP:radiusperparticle(每粒子半径属性)。最常用的每个粒子的旋转、大小、缩放信息都被Maya事先定义好放在常规属性中,你只需点击添加就可以看到每粒子属性中多了半径属性栏。Tips案例一:萤火虫空中闪烁飞舞图1-8添加动态属性图1-9添加粒子半径属性(2)改变粒子颜色和大小在RadiusPP后面的框内点击鼠标右键,弹出菜单,选择第一项CreationExpression(创建表达式),表达式编辑器弹出,如图1-10。选择Runtimeafterdynamics(动力学之后运行),并在对话框里写入表达式“particleShape1.radiusPP=rand(0.2,0.3);”,此表达式是让粒子的半径大小在0.2~0.3之间随机取值。输入完毕后,点击下方的Edit(编辑)按钮即可,如图1-11。2.如何让萤火虫发光发亮Runtimebeforedynamics:在每一帧解算时,先执行表达式,再进行动力学解算;Runtimeafterdynamics:在每一帧解算时,先进行动力学解算,再执行表达式。在粒子学习阶段学会几个简单的函数表达式会让粒子变化丰富而灵活。Tips案例一:萤火虫空中闪烁飞舞图1-10每粒子半径属性图1-11为每粒子半径添加表达式现在把时间轴拉回到第一帧,Maya开始解算粒子效果,此时我们看到粒子的大小是随机分布的了,如图1-12。2.如何让萤火虫发光发亮表达式可以更轻松的帮助特效师完成复杂的K帧动画,Maya特效制作你需要学会几个简单的函数表达式。例如rand()函数是指在一个范围内返回一个随机浮点数或者向量。Tips案例一:萤火虫空中闪烁飞舞图1-12粒子颜色随机变化给粒子particle1添加一个新的变量属性,执行AddDynamicAttributes→General→New命令,弹出菜单如下图1-13所示菜单,在longname里面我们给它命名为“color”,DataType(数据类型)选择Float(浮点型),AttributeType(属性类型)选择Perparticle(array),确认并添加。2.如何让萤火虫发光发亮PerParticleAttribute(每粒子属性):为粒子对象中每个粒子添加属性;PerObjectAttribute(每对象属性):为整个粒子对象添加属性。Tips案例一:萤火虫空中闪烁飞舞图1-13添加粒子颜色属性添加之后在粒子属性面板里会多一个color(颜色)属性,按以上的方法创建表达式:particleShape1.color=rand(0,1);。然后再给粒子particle1中的每一个粒子添加变量属性,执行AddDynamicAttribute→color,弹出菜单如图1-14、图1-15,勾选AddParticleAttribute(添加每粒子属性),然后确认添加。2.如何让萤火虫发光发亮案例一:萤火虫空中闪烁飞舞图1-14添加每粒子属性图1-15添加每粒子属性此时粒子属性面板里会多一个RGBPP属性,同样鼠标右键点击CreateRamp(创建渐变),如图1-16。选择后面的option方框,如图1-17,弹出菜单,在“InputV”下的下拉菜单里,我们选择“Color”,这样的目的是为了跟我们上面创建的“Color”属性关联起来。点击RGBPP属性栏,进入编辑渐变贴图,如图1-18。2.如何让萤火虫发光发亮编辑渐变贴图,让萤火虫的颜色丰富起来。注意渐变的类型为VRamp(V向渐变);Interpolation(插值)改为None。我们可以看到粒子的颜色是这三种颜色随机出现的。Tips案例一:萤火虫空中闪烁飞舞图1-16粒子颜色属性创建贴图图1-17创建贴图选项图1-18编辑渐变贴图解算的效果,如图1-19。案例一:萤火虫空中闪烁飞舞图1-19(3)让萤火虫闪烁给particle1添加一个基于每粒子的透明度属性,如图1-20,在OpacityPP上面创建Ramp(渐变),进入编辑贴图模式,只保留一个色块,并点击Selectedcolor(选定颜色后面的小方块),如图1-21。添加一个Fractal(分形)贴图,此作用是让粒子透明度随贴图的黑白变化而不断产生明暗变化,以达到看起来闪烁的效果,如图1-22。案例一:萤火虫空中闪烁飞舞图1-20创建透明度属性图1-21编辑渐变参数图1-22添加分形贴图可根据实际情况适当调整参数,本案例参数设置如下图1-23。2.如何让萤火虫发光发亮案例一:萤火虫空中闪烁飞舞图1-23分形贴图参数设置此时解算查看效果,可以看到粒子有闪烁的效果,如图1-24。案例一:萤火虫空中闪烁飞舞图1-24选中particle1,然后执行Particles→Emitfromobject命令。选择Windows→outliner(大纲视图),生成的粒子为particle2,发射器为emitter2,emitter2的发射类型为Omni(点发射),发射量设为150,并将emitter2的发射速度全部设为0。particle2的生命值给一个随机,粒子类型同样设为Cloud,如图1-25。(1)用粒子particle1发射另一套粒子particle2作为萤火虫的尾巴。给particle2添加一个RadiusPP,并创建一个ramp贴图,用ramp贴图的黑白来控制粒子的大小,黑色为0,白色为1,如下图1-26。贴图下端是粒子出生时的大小,参数设为0.16,上端是死亡时的大小,参数设为0。(2)萤火虫的拖尾是一个由大到小的形状,这里主要是通过控制粒子Radius(半径)大小来达到效果的。解算一下,得到效果如图1-27。(3)particle2的颜色和particle1一样设置即可案例一:萤火虫空中闪烁飞舞3.制作萤火虫拖尾效果图1-25粒子生命值属性图1-26粒子半径大小的ramp贴图设置图1-27现在粒子运动还比较统一,可以给粒子添加Field(场)。选中particle1,Field→Turbulence,添加一个扰乱场,并调节参数大小,可以根据实际情况再微调参数。本案例设置如图1-28。案例一:萤火虫空中闪烁飞舞4.萤火虫运动变化图1-28扰乱场属性设置再解算渲染看效果,最终用后期软件与背景场景合成,此时的效果才是我们所需要的效果,如图1-29。案例一:萤火虫空中闪烁飞舞图1-29案例二:墙上画门2一、制作思路二、制作过程问题1:怎样沿路径做动画?问题2:笔的前端火花?问题3:火花拖尾?问题4:画门洞过程中掉落的石头碎屑?一、制作思路拿笔在墙上画个门洞,然后叫三声阿里巴巴快开门,是多少同学的美好记忆?图1-30案例二:墙上画门图1-30二、制作过程2.制作笔的前端火花3.制作火花的拖尾效果
1.实现圆周路径动画4.制作画门洞时掉下的石头碎屑案例二:墙上画门做这个特效之前的铺垫是一个墙上的圆形轨迹,我们需要创建一个固定的圆周,所以我们先创建一个圆形的Curves(曲线),匹配到原模型的门洞边缘,如图1-31。1.实现圆周路径动画案例二:墙上画门图1-31因为需要沿着圆圈发射粒子,所以我们先创建一个locator(定位器),Create→locator,目的是将粒子发射器绑定到locator(定位器)上,然后我们只需执行一个命令让locator能沿着路径运动即可。创建一个locator,打开大纲视图,选择刚刚创建的locator,shift加选之前创建的curves(圆环),接着在动画模块下的菜单栏里面执行AttachtoMotionpath(连接到运动路径)命令,如图1-32、图1-33。1.实现圆周路径动画案例二:墙上画门图1-32图1-33运动路径设置创建第一套粒子,在这个案例中我们使用创建发射器的方式来创建粒子。选择在动力学模块下Particles→CreateEmitter(创建发射器),如图1-34。移动粒子发射器位置,移到locator的中心。继而让发射器与locator绑定(先选择粒子发射器再加选locator,然后按P键,创建父子关系)。解算效果如图1-35。2.制作笔的前端火花点击选择发射器,按住V键不松,再按鼠标中键,把发射器吸附到locator中心。Tips案例二:墙上画门图1-34创建粒子发射器点击时间轴上面的播放就可以看到之前创建的定位器沿着圆环做圆周运动。Ctrl+A打开定位器属性面板找到MotionPathAttributes(运动路径属性),通过对UValue(U值)K帧来调整定位器的位置来匹配画笔的运动节奏。显然这不是我们要的效果,接下来我们来调整一下粒子参数(要想形成火花状的,就需要极度减少粒子寿命,加大粒子速度和发射率):案例二:墙上画门图1-35粒子解算效果调整发射速率调整粒子属性里面的寿命调整粒子颜色调整粒子渲染类型调整发射速度案例二:墙上画门(在发射器属性编辑器面板中BasicEmissionSpeedAttributes),如图1-37。调整发射速度(根据笔开始画的帧数和画结束时候的帧数K发射速率),我们在这里是从144开始到200结束,大家可以根据实际情况调整,如图1-36。调整发射速率案例二:墙上画门图1-36基本发射器属性图1-37基本发射速度属性如图1-39。调整粒子渲染类型(在粒子形态节点属性面板下的LifespanAttributes),如图1-38。调整粒子属性里面的寿命案例二:墙上画门图1-38粒子生命值属性图1-39粒子渲染属性在AddDynamicAttributes面板下添加每粒子的颜色属性,在上一个案例中已提及,在PerParticle(Array)Attributes里面生成的RGBPP属性中右键选择CreateRamp(创建渐变贴图),再次右键点击EditRamp(编辑渐变),更改颜色接近火花颜色即可,如图1-40。注意为了增加粒子的光感勾选渲染属性下面的ColorAccum(颜色叠加),如图1-41。调整粒子颜色案例二:墙上画门图1-40渐变属性图1-41渲染属性颜色叠加我们进行结算后对比之前的粒子火花,看一下目前的前端火花效果,如图1-42、图1-43。案例二:墙上画门图1-43图1-42拖尾的火花向外扩散的速度不大,而且存在的时间是比较长的,也就是粒子的生命是比较长的,所以我们需要考虑调整粒子发射器的速度和寿命就可以完成火花拖尾的效果。(1)调整粒子发射器速率和速度,Rate(每秒产生的粒子数)为500,Speed(速率)为0.5,随机速率为0.6,如图1-44。3.制作火花的拖尾效果案例二:墙上画门图1-44创建发射器属性(2)粒子渲染类型为Points(点),添加颜色属性,创建并编辑ramp节点,如图1-45。粒子生命值,如图1-46。3.制作火花的拖尾效果为了使火花效果更加自然丰富,思考如何得到图1-48的效果。思考题案例二:墙上画门图1-45粒子颜色渐变参数图1-46粒子生命值参数解算效果如图1-47、图1-48。在制作图1-48效果的时候,如果能考虑到火花和墙面会产生碰撞的情形是非常好的,我们可以选择需要做碰撞的粒子和墙面,在动力学模块下选择Particles→MakeCollide(使碰撞)后的option选项,调整弹性和摩擦力的值。案例二:墙上画门Tips:图1-47火花拖尾效果图1-48(5)粒子替换(4)建立一些碎块模型(3)碎屑往下掉(2)粒子碰撞(1)创建粒子发射器案例二:墙上画门4.制作画门洞时掉下的石头碎屑(1)创建粒子发射器,将其绑定在之前创建的locator上,调整粒子属性。如图1-49,1-50。因为碎屑不可能消失,所以这里选择永恒的寿命。4.制作画门洞时掉下的石头碎屑案例二:墙上画门图1-49粒子发射器参数设置图1-50粒子生命值参数(2)粒子碰撞,考虑到碎屑是实物,所以不能与墙面和地面穿插,我们需要分别给粒子和墙面之间,粒子和地面之间创建碰撞效果。选择粒子,加选墙面,点击Particles→MakeCollide(使碰撞),修改弹力和摩擦力的系数以符合真实效果,如图1-51、1-52。粒子和地面同理可推。4.制作画门洞时掉下的石头碎屑案例二:墙上画门图1-51碰撞命令图1-52碰撞参数(3)碎屑往下掉。碎屑在自然界中需要受到重力作用往下掉。我们给创建的粒子添加一个重力作用,Field→Gravity(重力),如图1-53、1-54。4.制作画门洞时掉下的石头碎屑9.8是重力默认值,可根据实际状况调整重力参数,越大的碎屑掉落的速度似乎应该越快,反之越慢。Tips案例二:墙上画门图1-53添加重力场图1-54重力参数(4)建立一些碎块模型,三到四块形状各异的就可以了,然后把这些碎块的模型全部放到场景中,必须注意的是这些碎块必须全部放到世界坐标轴中心,并且删除其历史,冻结所有参数,坐标归物体中心。这三个步骤是使用粒子替代命令必须要执行的,为了让碎块准确地替换粒子,如图1-55。4.制作画门洞时掉下的石头碎屑案例二:墙上画门图1-55物体替代粒子设置(5)粒子替换。选择刚刚做好的碎块模型,在动力学模块下选择Particles→Instancer(实例化),如图1-56。直接点击创建即可,此时会发现原来的粒子被替代为碎屑模型,如图1-57。4.制作画门洞时掉下的石头碎屑案例二:墙上画门图1-56粒子替代选项设置图1-57碎屑替代粒子效果●我们发现这些碎块的形状、大小、方向都是一样的,这显然不是我们想要的结果,我们需要使用表达式去实现真实的情况。首先在粒子形状节点的属性面板下:Instancer(实例化)标签下的GeneralOptions(常规选项)中的三个属性参数分别是控制替代物的大小、替换物体本身和旋转的,如图1-58。这三个选项里面都有默认值,我们为了更好地让碎屑产生随机变化,还是添加变量为好。4.制作画门洞时掉下的石头碎屑案例二:墙上画门图1-58粒子替代常规选项设置●选择AddDynamicAttributes下第一个标签General(常规属性),添加三个新的粒子属性:scpp,ropp,objpp。参数设置如图1-59。4.制作画门洞时掉下的石头碎屑案例二:墙上画门scpp,ropp,objpp变量将利用表达式控制粒子的大小、旋转以及替代物本身。Tips●添加成功后在每粒子属性栏下会多出三个变量:Scpp,Ropp,Objpp,随便选择三个变量中的一个,右键点击展开选择CreateExpression(创建表达式),在输入栏里面输入一下表达式:particleShape1.objpp=rand(0,6);particleShape1.scpp=rand(0.1,0.35);particleShape1.ropp=<<rand(360),rand(360),rand(360)>>;输入完成后,点击创建即可完成表达式的书写。在第一条表达式里面,你有几个碎块模型就写数字几,本案例中6块模型;在第二条表达式里面,碎块的大小随机取值在0.1到0.35之间(根据情况修改数值大小);在第三条表达式里面,碎块模型会随机地在XYZ方向旋转。Tips图1-59添加粒子常规属性●现在我们需要在图1-58讲过的三个变量中重新创建的三个粒子属性并替换,如图1-60。此时从头播放一下时间滑块可以发现效果达到了预期所想的,大小、方向形状都随机变化了。4.制作画门洞时掉下的石头碎屑案例二:墙上画门图1-60粒子常规属性变量设置我们将在下一章的学习中利用动力学的流体模块为本案例添加烟的效果使得特效更加逼真,如图1-61。4.制作画门洞时掉下的石头碎屑案例二:墙上画门图1-61我们所讲解的所有nDynamic系统中的模块包括nParticle、nCloth、nHair模块其中的“n”就是代表了他们都是用Nucleus解算器来生成的。在n动力学中我们使用n粒子可以创建和经典粒子系统相同的特效,但是基于它的属性新特性它还可以模拟更先进的效果,如图1-62标注的部分,这些属性是Particle系统所不具备的。在实践中nParticle系统要比Maya经典粒子系统更容易理解和使用。4.制作画门洞时掉下的石头碎屑Nucleus是nParticles粒子解算器,重力和风力场的作用都在解算器的属性面板下。Tips案例二:墙上画门图1-62nParticle属性面板案例三:墙体爆炸3一、制作思路二、制作过程问题1:怎样创建火焰层、泥浆层?问题2:怎样让泥浆与墙面产生碰撞?问题3:怎样调整粒子形态?一、制作思路这是一个简单的nParticle特效,通过对案例的学习了解nParticle的使用特性。我们要做一个墙体爆炸效果,前面一层为火焰层,中间一层为泥浆层,如图1-63。图1-63案例三:墙体爆炸图1-63二、制作过程2.粒子与墙体发生碰撞3.怎样调整粒子形态1.创建nParticles案例三:墙体爆炸首先先创建一面墙体作为碰撞物体,如图1-64。1.创建nParticlesnDynamic系统中的碰撞物需要用Polygon建模,曲面创建的模型是无法识别的。Tips案例三:墙体爆炸图1-64墙体模型这时我们播放时间滑块发现粒子是向下落的,而且和墙体没有发生任何碰撞关系。结论执行nParticles→CreatenParticles(创建n粒子)→CreateEmitter(创建粒子发射器),注意勾选下面的Points(点),我们需要粒子以点的形式存在,如图1-65。我们发现创建n粒子与创建传统粒子系统的方式,属性都基本相同,只是多了一种FillObject(填充物体)的粒子创建方式,可以使用这个命令将整个Polygon模型填充满粒子。而后将创建好的粒子发射器放到墙体中,如图1-66。图1-65、图1-66案例三:墙体爆炸图1-65创建nPaticles图1-66粒子发射器先选择物体,再点击属性nMesh→CreatePassiveCollider(创建被动碰撞物体),点开被动碰撞物体的基本属性,将Thickness(厚度)设为0.02,勾选上面的Collide选项,如图1-67。后面的选项检查是否与粒子使用同一解算器,如图1-68。2.粒子与墙体发生碰撞如果发现粒子与被碰撞物体之间并不是使用同一解算器,可以通过n动力学模块下的nSolver(n解算器)→AssignSolver(指定解算器)来重新选择。Tips案例三:墙体爆炸图1-67粒子碰撞属性图1-68使碰撞选项选择粒子打开其属性编辑器面板,在Collisions(碰撞)面板下勾选Collide,将CollideWidthScale(碰撞宽度缩放值)设置为0.5,如图1-69。2.粒子与墙体发生碰撞案例三:墙体爆炸图1-69粒子碰撞属性(1)调整粒子动态。(2)如何让火焰表现的更加真实呢?案例三:墙体爆炸3.怎样调整粒子形态(3)添加湍流场Field→Turbulence(湍流场)选择粒子发射器将Rate每秒离子发射量改为20000,粒子速度改为1.184,如图1-70、1-71。(1)调整粒子动态。案例三:墙体爆炸图1-70粒子基本发射器属性图1-71粒子基本发射速度属性我们需要给粒子添加场来控制粒子的运动状态,在本案例中,我们先给粒子添加了阻力场。●点击Field→Drag(阻力场)。阻力场的作用是让粒子模拟的泥水在将要落到墙面边缘时运动速度变慢,模拟被溅落的感觉,如图1-72。●在VolumeControlAttributes(体积控制属性)属性编辑器下将体积类型改为Cube(立方体),如图1-73。(2)如何让火焰表现的更加真实呢?案例三:墙体爆炸图1-72阻力场属性设置图1-73体积控制属性设置体积类型●阻力场的属性设置完成之后,我们将这个阻力场再复制一个,注意复制出来的场和粒子必须产生关联,执行Window(窗口)→RelationshipEditors(关系编辑器)→DynamicRelationships(动态关系),如图1-74。(2)如何让火焰表现的更加真实呢?案例三:墙体爆炸图1-74动态关系编辑器选择左边面板的粒子,再选右边面板复制出来的场,这样粒子就和场关联起来了。我们再将创建出来的两个阻力场放置如图1-75所示位置,我们解算看一下当粒子达到场内时运动速度就会变慢。(2)如何让火焰表现的更加真实呢?案例三:墙体爆炸图1-75阻力场设置添加湍流场Field→Turbulence(湍流场),如图1-76。添加Field→Turbulence(湍流场),而湍流场的作用是为了模拟泥浆的喷溅,这个场是全局性的,在Maya场景中都受到湍流场的影响作用。添加了这几个场并调节好这些参数后那么粒子就会呈现最终我们想要的动态效果,如图1-77、1-78。(3)添加湍流场Field→Turbulence(湍流场)案例三:墙体爆炸图1-76湍流场属性设置案例三:墙体爆炸图1-77粒子解算效果案例三:墙体爆炸图1-78本章思路小结添加动力场(Field)模拟自然界的动力运动。添加每粒子属性的方式。创建渐变属性控制粒子的颜色、透明度的变化。本章难点总结创建简单的随机函数表达式更灵活地控制粒子的大小、旋转、方向属性。进阶特效《蒲公英纷飞》,思考粒子替代和动力场的作用。2.初级特效《雨中池塘》,思考粒子与水面碰撞之后产生的涟漪。1.三维动画艺术与特效课后实训作业THANKYOU谢谢观看模块二:Fluids流体系统动力学创建2D/3D流体容器的方法,通过提问题式教学法来引导学生思考创建流体效果的过程,同时了解流体的最终效果取决于流体的材质着色属性,特别是着色的不透明度的曲线调试,这个也是本章难点。本章重点●理解流体容器的概念。●创建流体容器。●模拟流体效果。●创建流体与几何体对象的碰撞。阶段教学目标模块二:Fluids流体系统动力学CONTENTS目录案例一:烟雾案例1案例二:篝火案例2案例三:爆炸案例3案例一:烟雾案例1一、制作思路二、制作过程问题1:如何创建烟雾?问题2:需要调整哪些属性让烟雾效果更逼真?一、制作思路我们通过讲解分析烟雾的案例制作让读者了解3D流体容器的概念,对流体制作有一个基础的认识,继而结合之前讲解的墙壁画洞的案例,使用烟雾效果使最后效果更加地完善,如图2-1。图2-1案例一:烟雾案例图2-1二、制作过程2.调整流体属性让烟雾效果更逼真1.创建烟雾案例一:烟雾案例(1)创建流体容器。1.创建烟雾(2)创建流体发射器案例一:烟雾案例使用流体容器可以创建气体和泥状流体,例如云、火焰、泥石流等效果。这些特效需要在一个空间里面发生,所以在流体系统中容器的概念就应运而生了。在容器里面我们需要创建一个发射器来真正发射流体。所以创建烟雾的步骤主要为流体容器的创建和发射器的创建。(1)创建流体容器。在动力学模块下,执行FluidEffects(流体效果)→Create3DContainer(创建3D容器),在世界坐标中会得到一个3D流体框,如图2-2。1.创建烟雾流体容器类型分为2D容器和3D容器,它们的工作方法都是一样的。只是在2D容器中创建的流体是平面的(例如像压扁的气体),而在3D容器中创建的流体则是发生在立体空间内的。计算演示2D容器创建的流体要明显快于3D。如果要求的效果并不需要有视角的变化,那么创建2D流体容器可以大大减少渲染时间。Tips案例一:烟雾案例图2-2创建3D流体容器选择流体框,Ctrl+A打开其属性编辑器,在ContainerProperties(容器特性)卷设置相关属性的参数,调节流体框的Size(尺寸)和BaseResolution(精度),参数设置如图2-3所示。流体框大小尽量将发射物体包裹在内,流体框不能直接拉伸缩放大小,而要通过它的大小尺寸属性来调节流体框大小。1.创建烟雾案例一:烟雾案例图2-3修改流体框尺寸(2)创建流体发射器●.在场景中创建一个圆环,并且给它一个下落的动画(不具体介绍动画步骤),我们使用这个圆环来发射流体,如图2-4。1.创建烟雾流体发射方式与粒子发射器类似,两种最常使用的发射方式即为:发射器发射,从物体发射。Tips案例一:烟雾案例图2-4创建流体发射器●选中圆环物体,并按住Shift键加选流体框,然后执行FluidEffects(流体效果)→Add/EditContents(添加/编辑内容)→EmitfromObject(从物体发射),如图2-5。、●在大纲中选择发射器,Ctrl+A打开属性编辑器,在BasicEmitterAttributes(基本发射器属性)卷展栏设置相关属性的参数。发射类型有Omni(泛向)、Surface(表面)、Curve(曲线)、Volume(体积),我们可以根据需要选择对应的发射类型,本案例中我们选择的发射类型是Surface(表面),如图2-6。1.创建烟雾案例一:烟雾案例图2-5添加/编辑内容图2-6基本发射器属性使用距离(1)修改流体发射器属性。●在FluidAttributes(流体属性)卷展栏下面,有三种流体发射方法,即DensityMethod(密度方法)、HeatMethod(热量方法)、FuelMethod(燃料方法),每种发射方法有Add(添加)、Replace(替换)、NoEmission(无发射)三个开启关闭开关,当选择Add或Replace时,前面的属性将开启并起作用,当选择NoEmission时,前面属性将关闭并不起作用,我们可以根据需要选择开始或者关闭。本案例中我们调节烟雾的浓度只需将DensityMethod(密度)开启即可,如图2-7。2.调整流体属性让烟雾效果更逼真Tips案例一:烟雾案例当使用Add(添加)作为密度方法来向容器发射气体时,气体的密度会不断上升直到发射停止。流体衰减图2-7流体属性●在FluidEmissionTurbulence(流体发射扰乱)卷展栏下面,可以开启流体发射扰乱,流体发射扰乱可以使流体发射形态随机产生扰乱的效果,可以根据需要开启。此处我们暂不开启,如图2-8。●在EmissionSpeedAttributes(发射速度属性)卷下面,可以开启继承速度属性InheritVelocity(继承速度),开启之后流体就可以继承发射物体的速度了,如图2-9。2.调整流体属性让烟雾效果更逼真案例一:烟雾案例扰乱类型(渐变)扰乱速度图2-8流体发射扰乱属性图2-9流体发射速度属性速度方法(替代)继承速度法线速度方向速度经过初步修改流体发射器参数属性我们解算一下看下效果,如图2-10。2.调整流体属性让烟雾效果更逼真案例一:烟雾案例图2-10初步解算流体效果(2)我们观察发现流体发射出来了,但是形状动态还有点糟糕,所以我们需要调节烟雾的形态。●首先我们要给流体添加几个常用属性:密度、速度、温度、燃料。打开fluidShape1流体形态节点下的ContentsMethod(内容方法)卷展栏下面的控制开关,将Density(密度)、Velocity(速度)、Temperature(温度)、Fuel(燃料)属性下拉菜单选择DynamicGrid(动态栅格),如图2-11所示。2.调整流体属性让烟雾效果更逼真Tips案例一:烟雾案例DynamicGrid(动态栅格)是为密度,速度等这些流体属性创建栅格,你可以使用特性值填充每个体素,以便用于动力学模拟。密度(动态栅格)速度(动态栅格)温度(动态栅格)燃料(动态栅格)●对应着内容方法属性,我们在流体形态节点下的ContentsDetails(内容详细信息)展开卷展栏可以看到密度、速度、温度、扰乱、燃料的属性框,如图2-12。我们可以对这些流体的常用属性进行调整,以达到我们想要的烟雾效果。●Density(密度)常用属性:流体的密度属性反映了容器空间内的气体密度。本案例中密度参数设置如图2-13。DensityScale(密度缩放):是对流体容器中的密度值以倍数相乘,例如小于1的密度缩放值会使得流体密度呈现透明,反之则呈现不透明度。Buoyancy(浮力):浮力的数值越大,例如浮力为正值时,烟雾会向上跑,为负值时则向下沉。Dissipation(消散):定义了容器内烟雾逐渐消散的速率。Diffusion(扩散):定义了容器内密度的扩散速率。Noise(噪波):定义容器内密度的动态随机值。2.调整流体属性让烟雾效果更逼真案例一:烟雾案例●Velocity(速度)常用属性设置如图2-14。Swirl(漩涡):定义流体受到容器内一个类似漩涡场的作用会让烟雾翻滚,数值越大,翻滚的力量越强。Noise(噪波):对流体速度值应用随机化。●VTurbulence(湍流)常用属性设置,如图2-15。Strength(强度):定义湍流的强度。Frequency(频率):降低频率惠氏湍流的漩涡更大。Speed(速度):定义湍流随时间变化的速度。●Temperature(温度)常用属性设置,如图2-16。Buoyancy(浮力):定义流体内置的浮力强度。Pressure(压力):模拟由于气体温度上升而受到的压力增加。Dissipation(消散):温度在容器内逐渐消散的速度。Noise(噪波):模拟温度值的随机化。2.调整流体属性让烟雾效果更逼真案例一:烟雾案例●Fuel(燃料)常用属性设置,如图2-17。燃料与密度属性结合使用可以定义一个反应力发生的情况。密度表现了被反应的物体,而燃烧值则描述了反应的情形。例如温度可以引发燃烧开始反应,在这个过程中,燃烧值从未反应(值1)到完全反应(值0)。ReactionSpeed(反应速度):定义在温度达到或高于最高温度时候,反应值从1转化到0的变化速度。数值越大,物体燃烧的越快。我们通过添加这些流体属性,看看现在解算的结果,如图2-18。2.调整流体属性让烟雾效果更逼真案例一:烟雾案例(3)我们看到现在烟雾的基本形状已经有了,但是动态透明度不够,所以需要继续调节烟雾的透明度。●选择流体框,按ctrl+A打开属性编辑器,展开Shading(着色)卷展栏,如图2-19。Transparency(透明度):调节流体整体透明度。Color(颜色):定义颜色范围,调节流体整体颜色。Incandescence(白炽度):用来控制从密度区域所发射出来的光线数和灯光的颜色。自发光发射不会受到照明或阴影的影响。Opacity(不透明度):调节流体局部细节不透明度,用来表现有多少光线被流体所遮挡。2.调整流体属性让烟雾效果更逼真案例一:烟雾案例现在我们来解算看一下效果,如图2-20。2.调整流体属性让烟雾效果更逼真案例一:烟雾案例(4)设置烟雾动态细节。●在解算结果中我们发现烟雾触及容器顶部的时候发生反弹了,也就是烟雾遇到流体框边界的时候没有发生自然的表现(继续上升)。此时要做的是打开自动调整大小卷展栏(Maya2011以后的新增功能),设置如图2-21。MaxResolution(最大分辨率):设定流体容器在调整大小时可以增加的最大体积数。例如现在是400的最大分辨率,则表示流体总的分辨率不可以大于400×400×400。AutoResizeMargin(自动调节边界):可以使流体自然地朝向自动调整大小的边界流动。勾选AutoResize(自动调整大小)属性时,流体容器的边界会随着流体密度的增加和减少自动调整大小。启用它会加快渲染的时间。2.调整流体属性让烟雾效果更逼真案例一:烟雾案例Tips对于某些需要快速移动且又要高分辨率的流体,自动调整大小属性可能会出现调整流体容器大小不够快,无法保持持续的流体,这会造成流体发射器移动到流体容器以外。在这种情况下,可以将一个发射器添加到自动调整的流体容器中,以强制在发射器的发射范围内扩展容器边界。这个时候需要勾选“ResizeToEmitter”(调整到发射器大小)才能将流体容器调整到所添加的发射器大小。●将ContainerProperties(容器特性)卷展栏下的碰撞边界关闭,不需要碰撞的边界设为None,次数我们只需要-Y轴方向碰撞,所以设置如图2-22。BaseResolution(基本分辨率):设置基本分辨率可以增加流体的解算精度,但同时会增加解算时间。Boundary(边界):如果定义某个轴的边界为None(无),也就是在这个轴的方向上无边界。定义为BothSides(两侧)则是表明流体容器在这个轴的方向上有两侧边界。如果定义为-X、-Y、-Z说明分别关闭了-X、-Y、-Z的边界。2.调整流体属性让烟雾效果更逼真案例一:烟雾案例Tips流体实际上并不会离开没有边界的容器,它只是看上去那样,流体仍然只能存在于一个容器内。现在再解算一下,应该得到案例的最后的结果,如图2-23。案例二:篝火案例2一、制作思路二、制作过程问题1:如何创建火焰?(不同于烟雾)问题2:如何给火焰添加颜色?问题3:需要调整哪些属性让篝火效果更逼真?一、制作思路我们使用流体系统制作黑暗中熊熊燃烧的篝火,如图2-24。对于3D流体容器再做进一步的介绍,巩固读者对于流体特效的制作思路的理解。篝火案例进一步讲解流体颜色、材质、属性的设置,初始状态的设定以及动力学模拟参数的调整。图2-24案例二:篝火案例图2-24篝火案例二、制作过程2.如何给火焰添加颜色3.调整哪些流体属性让火焰效果更逼真1.创建火焰案例二:篝火案例篝火的火焰运动速度是很快的,这个和之前的烟雾案例不同,烟雾很大程度上都要受到空气和浮力的作用,具有飘浮的特性,而篝火的能量主要是由火焰中心提供的,是具有温度的,从中心向外围发散热量。(1)创建流体容器。首先我们需要创建一些Polygon的立方体来模拟木柴,如图2-25。然后在动力学模块下面我们依然点击FluidEffects(流体效果)→Create3DContainer(创建3D容器),如图2-26。考虑到火焰中心在木柴下方,所以我们要考虑通过移动容器Y轴方向的位移去匹配真实的情况。1.创建火焰案例二:篝火案例流体框必须要将反应物体完全包裹在容器内,因为容器就是火焰发射的范围,这里不能直接用缩放来控制容器大小,否则解算流体的时候容易出现“切边”的现象(如图2-27所示)。Tips图2-25木柴模型图2-26创建3D流体容器图2-27气体被流体容器“切边”案例二:篝火案例案例二:篝火案例图2-28容器属性图2-29容器尺寸调整●调整流体属性,改容器尺寸,如图2-28。在流体形态节点下的ContainerProperties(容器属性)卷展栏下调整Size(大小)在X、Y、Z方向上的缩放来匹配即将产生的火焰,如图2-29。案例中将流体框放大了很多,预留了比较大的空间为了阻止将来烟火被边界阻挡。1.创建火焰案例二:篝火案例(2)选择物体加选容器,创建发射器,FluidEffects(流体效果)→EmitfromObject(从物体发射),解算一下效果,如图2-30。1.创建火焰图2-30解算流体特效step1●打开流体属性编辑器面板,调节ContainerProperties(容器特性)下的BaseResolution为50,增加流体解算精度,火焰的细节也会更明显。调整BoundaryY为-YSide,在容器底部设置一面墙让气体向上升而不会往下走,如图2-31。●考虑到火焰效果有温度的特性,所以我们需要打开ContentsMethod(内容方法)下面的Temperature(温度)开关,将它设为DynamicGrid(动态栅格),如图2-32。1.创建火焰对于精度要求非常高的特效电影,BaseResolution一般会设为400。Tips案例二:篝火案例图2-31流体容器特性设置温度图2-32流体容器方法设置为火焰添加颜色。目前我们所解算的流体特效中火焰都是白色的,没有真实世界中烟雾的明暗特性,我们需要添加灯光来显现它的特质。在流体形态节点下的Lighting(灯光)→SelfShadow(自带阴影),如图2-33。2.如何给火焰添加颜色案例二:篝火案例图2-33流体灯光设置(1)解算一下效果如图2-34。我们需要进一步调整火焰的属性。3.调整哪些流体属性让火焰效果更逼真案例二:篝火案例图2-34解算流体特效step2●打开DynamicSimulation(动力学模拟),调整Viscosity(黏性)为0.04,作用是增加火焰的油性值,这个数值是很敏感的,只需要略微调整就可以了。调整HighDetailSolve(高细节解算)为AllGrids(全网格),同样增加流体解算的精度,适用于创建爆炸翻滚的云或者是巨浪一样的烟雾效果,参数设置如图2-35。●调整AutoResize(自动调整大小),让火焰适应于容器边界,如图2-36。3.调整哪些流体属性让火焰效果更逼真案例二:篝火案例(2)设置初始状态。和上一个案例不同,烟雾的产生是从无到有的过程。本案例中的火焰需要有一个初始状态,即从一开始它就是燃烧着的。我们把流体结算到70帧时候的火焰状态设为初始值,在FluidEffects→SetInitialState(设置初始状态),如图2-37。3.调整哪些流体属性让火焰效果更逼真案例二:篝火案例图2-37设置火焰初始状态当我们设置结束时,回到第一帧的时候,你会发现火焰从第一帧就呈现刚才在第70帧的效果,如图2-38。3.调整哪些流体属性让火焰效果更逼真案例二:篝火案例图2-38火焰回到第一帧的效果(3)设置流体动态细节。打开ContentsDetails(内容细节)卷展栏下的Density(密度)、Velocity(速度)、Temperature(温度)属性,调节参数值如图2-39。我们在上一个案例中分别解释过常用参数的作用,读者可以根据在制作时遇到的实际情况做调整。3.调整哪些流体属性让火焰效果更逼真案例二:篝火案例(4)现在渲染一下效果,得到如图2-40所示。3.调整哪些流体属性让火焰效果更逼真案例二:篝火案例图2-40火焰渲染效果step1(5)调节烟火材质属性,如图2-41。解析参数如下:3.调整哪些流体属性让火焰效果更逼真案例二:篝火案例我们下面就对流体的着色属性设置做进一步的解释。●着色整体属性,如图2-42。Transparency(透明性):调节整体烟火的透明属性,滑块从左向右是由黑到白的渐变,黑色代表是不透明,白色代表是全透明。可根据实际效果来适当调整滑块的位置。GlowIntensity(辉光值):可以增加火光的辉光。EdgeDropoff(边衰减):调节完成后火焰越靠近容器边缘越接近透明,设置边缘衰减可以避免流体碰到容器边缘时产生清晰的分界线,一般取值不宜过大。●Color颜色属性(调节烟的材质),如图2-43。实际就是烟的颜色(不代表是火的颜色),一般烟就是灰黑色的,这里根据需求来调节。要注意到的是将ColorInput(颜色输入)设为Density(密度)过渡方式,而InputBias(输入偏移)设为0.8,就是意味着流体的颜色会随着流体的密度而改变。3.调整哪些流体属性让火焰效果更逼真案例二:篝火案例图2-42着色整体属性参数图2-43颜色属性参数设置图2-41中的选择颜色的渐变条,最左边代表密度最小时候的颜色,右边代表了密度最大时候流体的颜色。输入偏移则表示渐变条从左往右的总体偏移量。Tips●Incandescence白炽度属性(调节火焰自发光的材质),图2-44。这里选择IncandescenceInput(白炽度输入)为Temperature(温度)过渡方式,输入偏移设为0.8,意味着流体的自发光会随着温度的变化而改变,渐变条从左到右代表火焰从消失到产生的自发光颜色,也就是火焰消散的时候呈现黑色,刚出生的时候呈现黄色(这里需要大家多调节来好好掌握火和烟的关系)。●Opacity不透明属性,调节如图2-45所示的平衡滑条。可以看到我们将流体的不透明输入的过渡方式也设为密度,从不透明度的渐变条可以看出随着时间的推移,密度会趋向于0的时候透明度也趋向于0。3.调整哪些流体属性让火焰效果更逼真案例二:篝火案例这里控制的是火焰细节的不透明度,这和火焰整体透明度是不一样的概念。一般火焰的中心都是透亮的,中间是火和烟的共同部分是比较浓密的。而接近火焰和烟雾的消散的时候,曲线自然会趋向于0。Tips解算之后得到最后的渲染效果,如图2-46。读者在模仿学习的制作过程中,需要不断去解决遇到的问题,只有通过思考和不断地调试才会真正转化为自己的经验知识,才可以灵活地运用这些内容而做出更有创意的特效。3.调整哪些流体属性让火焰效果更逼真案例二:篝火案例火焰不仅在Maya中有别的制作方法,在3DMax中也可以方便地创建。这里推荐一款常用的3DMax火焰插件:Fumefx。读者有兴趣的话也可以尝试学习,效果非常不错。Tips图2-46火焰渲染效果案例三:爆炸案例3一、制作思路二、制作过程问题1:使用什么发射器来创建流体?(比较之前的篝火案例)问题2:爆炸的瞬时性如何表现?问题3:如何创建流体产生爆炸?问题4:火焰运动中的翻滚团状烟雾怎样产生?问题5:怎样使爆炸的火焰和烟雾的细节更加丰富?一、制作思路本案例的重点是使用粒子驱动流体做爆炸效果,如图2-47。在影视动画中结合动力学系统中的不同体系例如粒子和流体,是非常普遍的特效制作方式。本案例属于流体系统中的进阶案例,对于之前讲过的基础知识点不再做重复的解释,我相信读者学习这个案例的时候对于基本的创建流体容器以及修改其属性步骤已经非常清楚了。图2-47案例三:爆炸案例图2-47爆炸效果二、制作过程2.爆炸的瞬时性如何表现3.如何创建流体产生爆炸5.怎样爆炸的火焰和烟雾的细节更加丰富1.使用什么发射器来创建流体4.火焰运动中的翻滚团状烟雾怎样产生案例三:爆炸案例比较篝火的案例,爆炸更具有强烈的冲击效果,所以需要考虑使用什么发射器来发射流体创造这么震撼的效果。所以经过思考之后我们使用粒子来发射流体,因为粒子数量多而且可以控制范围。最重要的是爆炸的瞬时性效果可以通过修改每秒产生的粒子数量来完成。(1)创建粒子。●在Maya场景中创建粒子发射器,更改发射器类型为体积发射器,并把体积类型改为圆环状,如图2-48所示。●调整粒子发射速率:考虑到爆炸特效,一般多为瞬时爆发的,所以这里只需要给粒子发射速率K帧就可以了,如图2-49所示将发射速率在第4、5、7、8帧分别设为0、200000、200000、0。案例三:爆炸案例解算效果如图2-50所示。案例三:爆炸案例图2-50解算粒子爆发效果step1(2)调整粒子形态、寿命。解算粒子效果过于规整统一,而且一直存留在空间里,没有真实爆炸的瞬时冲击感。我们需要进一步调整粒子的动态细节。●调整发射速度:在emitter1(发射器1)属性编辑器下面的VolumeSpeedAttributes(体积速度属性)中调整AwayFromAxis(远离轴)为30,如图2-51。●调整粒子寿命:在粒子形态节点属性编辑器下面的LifespanAttributes(生命值属性)设为Randomrange(随机范围),如图2-52。(3)添加场。给粒子添加Fields(场)→Turbulence(扰乱场),扰乱场使得粒子爆发更具有混乱性,如图2-53。案例三:爆炸案例(4)添加碰撞。●创建地面,用来和粒子发生碰撞,注意发射器与地面保持一定的距离,避免发生粒子穿插过地面,如图2-54。●使碰撞:选择粒子,加选地面,点击Particles(粒子)→MakeCollide(创建碰撞)后的option选项,调整参数,如图2-55。案例三:爆炸案例图2-54创建碰撞地面粒子形态调整完毕,我们解算一下效果,如图2-56。案例三:爆炸案例图2-56粒子解算效果step2(1)创建3D流体容器,将流体框的大小去匹配到粒子最大形态范围外,如图2-57。(2)创建流体发射器。●选择粒子,加选流体容器,点击Add/EditContents(添加/编辑内容)→EmitfromObjects(从物体发射),作为流体发射器。在流体发射器的属性编辑器下更改EmitterType(发射器类型)为Omni(泛向),并且调整最大距离为0.6,如图2-58。案例三:爆炸案例3.如何创建流体产生爆炸?图2-57粒子解算效果step2MinDistance(最小距离)与Max(最大距离)定义了流体发射器的发射范围,本案例中流体会在0~0.6的半径范围内发射。Tips●打开粒子继承值,如图2-59。(3)调整流体属性。●解算基本精度以及开启有限碰撞,如图2-60。案例三:爆炸案例3.如何创建流体产生爆炸?●因为要模拟火焰的特效,所以要开启温度的动态栅格开关,如图2-61。●调整黏度值并且打开高细节解算属性为AllGrids(全网格),如图2-62。●开启自动适配功能,如图2-63。案例三:爆炸案例3.如何创建流体产生爆炸?(1)调整流体的ContentsDetails(内容详细)属性,如图2-64。将浮力值设为1,消散值为0.619,增加回旋值,模拟扰乱效果。增强火焰的浮力值和消散值。这些属性的作用在之前的案例中已经提及,这里不再重复解释了。案例三:爆炸案例4.火焰运动中的翻滚团状烟雾怎样产生?5.怎样爆炸的火焰和烟雾的细节更加丰富?(2)调整流体材质,如图2-65。案例三:爆炸案例5.怎样爆炸的火焰和烟雾的细节更加丰富?案例三:爆炸案例在图2-66中我们选择火焰产生的颜色时,如果想要提高黄色的亮度,我们可以将HSV中的V的值调高,这是火焰中心的高亮度。Tips图2-66流体着色白炽度属性设置我们解算一下效果,如图2-67。案例三:爆炸案例图2-67爆炸解算效果我们再渲染一下效果图得到序列图如下2-68、2-69。大家在调节的时候,可以灵活地使用讲解过的内容进行细调。案例三:爆炸案例图2-68爆炸效果渲染序列图案例三:爆炸案例图2-69爆炸效果渲染序列图本章思路小结流体结算方式设置(ContentsMethod)。更改流体解算精度和容器大小。修改流体细节参数属性(ContentsDetails)。本章难点总结增添流体材质属性(Shading)。流体与其他动力学模块的制作结合。上一模块中我们使用nParticles系统创建了墙面泥浆爆炸的效果,这个效果也需要使用粒子发射流体制作,请使用流体系统知识点来创建完成第三章的图例效果(提示:在图3-15之后利用粒子驱动流体完成泥浆创建,流体设置完成后,需要将解算完的流体转换为真实的多边形模型,执行Modify—Convert—FluidtoPolygons命令)。2.思考并制作在模块一中解析的《墙上画洞》的案例中当小碎石落下的时候随即产生的烟雾效果,如图2-70。使用创建2D流体容器和3D流体容器两种方式来呈现效果。1.三维动画艺术与特效课后实训作业THANKYOU谢谢观看模块三:nCloth布料动力学熟悉掌握nCloth创建的思考流程和相应的创建命令,掌握nCloth的各种约束的使用方法,可以灵活运用nConstraint约束进行应用n粒子系统与n布料系统的结合创造出具有创意的特效。本章重点●创建nCloth物体。●布料约束nConstraint的使用方法。●调节布料动态细节的主要参数设置。●设置初始状态以及缓存。●nCloth结合nParticle创建特效。阶段教学目标模块三:nCloth布料动力学CONTENTS目录案例一:憋掉的气球飘起效果1案例二:桌布掉落2案例三:布料变沙3案例一:憋掉的气球飘起效果1一、制作思路二、制作过程问题1:如何创建气球模拟布料材质?问题2:怎样创造气球和线的材质?问题3:怎样让气球被线拉住?问题4:怎样实现憋掉的气球到鼓起飘起的状态?一、制作思路图3-1这个特效的具体表现是一个憋掉的气球被线牵制在地面的物体上,在风的作用下渐渐飘起,同时气球开始饱满鼓起,但是地面固定的物体把气球限制在半空中随风摆动。在开始讲解之前必须要了解nCloth布料必须用Polygon多边形物体才能创建。图3-1案例一:憋掉的气球飘起效果图3-1二、制作过程2.怎样创造气球和线的材质3.怎样让气球被线拉住?1.创建气球模拟布料材质4.怎样实现憋掉的气球到鼓起飘起的状态?案例一:憋掉的气球飘起效果(1)首先我们在场景中创建一个Box(2)创建一个长面片作为气球的牵线1.创建气球模拟布料材质(3)指定布料(4)创建被碰撞物体案例一:憋掉的气球飘起效果(1)首先我们在场景中创建一个Box(多边形立方体),如图3-2。执行Polygon模块下面的Mesh(网格)→Smooth(平滑)命令四次,球体如图3-3。通过这种方式创建的球体布线非常均匀。1.创建气球模拟布料材质案例一:憋掉的气球飘起效果图3-2立方体模型图3-3平滑后效果首先我们观察一下效果如图3-1,气球是从没气的状态下充满气之后飘起来的,气球的线被固定在地面上的一个物体上。我们需要解算的不仅是气球,线也是通过nCloth解算得到的。下面通过解答上面提出的问题来解析这个效果的制作过程。(2)创建一个长面片作为气球的牵线,如图3-4。再创建一个多边形面片作为地面,如图3-5。1.创建气球模拟布料材质案例一:憋掉的气球飘起效果图3-4创建线图3-5创建地面(3)指定布料。选择球和线,执行nDynamics下的nMes→CreatenCloth(创建n布料),如图3-6。这时展开属性编辑器就发现球和线都具有了布料的属性,在大纲视图中看到两个布料共用一个nucleus解算器,如图3-7。1.创建气球模拟布料材质案例一:憋掉的气球飘起效果(4)创建被碰撞物体。我们选择地面为其添加动力学属性,执行nMesh→CreatePassiveCollider(创建被动碰撞物),播放时间滑块可以看到球和线在重力作用下与地面自然地产生了碰撞。如图3-8。1.创建气球模拟布料材质案例一:憋掉的气球飘起效果图3-8气球下落解算图3-9线的穿插我们解算的时候仔细观看线的细部,会发现线和气球自身的穿插非常严重,如图3-9。所以需要进一步的调节其布料参数。Tips(1)调节布料碰撞属性(2)调节布料动力学属性2.怎样创造气球和线的材质(3)调节解算器属性案例一:憋掉的气球飘起效果(1)调节布料碰撞属性。首先打开气球的布料形态节点(nClothShape1)下的Collisions(碰撞)下拉菜单,设置从参数如图3-10。●Thickness(厚度):这里可以理解为布料的厚度,它的取值越大代表布料越厚就越不容易出现穿插的效果。如果设置过大,和碰撞物之间的碰撞距离也会相应变大,解算时间加长。所以这个厚度值读者需要通过不断的试验来找到各种材质最佳的数值。●SelfCollideWidthScale(自碰撞宽度缩放值):它可以缩放nCloth的输出网格的厚度,值越大自身的穿插会减少,该值是相对于Thickness定义的。2.怎样创造气球和线的材质案例一:憋掉的气球飘起效果需要注意的是SelfCollideWidthScale取值不宜超过5,过大会造成布料解算出错。Tips(3)调节解算器属性。在nudeus1属性面板中,打开SolverAttributes(解算器属性)卷展栏,调节属性如图3-12。●Substeps(子步):指的是布料在每一帧计算的次数,这个属性对于布料解算起着关键性的作用。子步对于快速碰撞的快速移动对象非常有用,值越大越不容易穿插,但同时也会带来结算速度减慢。●MaxCollisionIterations(最大碰撞迭代次数):这个属性是需要结合substeps来调整的,总的说来它取值越大解算越精确,但是计算时间也随之增加。默认值为4,每个子步至少存在一次碰撞迭代,除非“MaxCollisionIterations”设为0,代表碰撞被禁止。2.怎样创造气球和线的材质案例一:憋掉的气球飘起效果我们再观察一遍解算结果,如图3-13。案例一:憋掉的气球飘起效果结果符合我们的要求,气球自身的穿插效果完全没有了,根据相同的思路我们需要调整线的布料参数设置。如图3-14(1)、图3-14(2)。2.怎样创造气球和线的材质案例一:憋掉的气球飘起效果(1)添加约束对象3.怎样让气球被线拉住?(2)气球初始状态案例一:憋掉的气球飘起效果(1)添加约束对象。我们发现气球和线都是自顾自地落下,试想在真实情况下,线的一头是系在气球的下端,所以我们将两个对象使用约束命令把它们“绑”在一起。我们首先选择气球下端的顶点,加选线上端的顶点,执行nConstraint(约束)→ComponenttoComponent(组件到组件),结果如图3-15。使用nConstraint约束对象可以调整nCloth、nParticle、nHair对象的行为,限制它们的移动或者是把它们固定到其他对象。根据之前的场景设定,线是绑定在地面上的一个固定物体上,所以这里我们可以将线的下端顶点与地面上的物体顶点做相同约束,以防气球飞走。3.怎样让气球被线拉住?案例一:憋掉的气球飘起效果创建“组件到组件”的约束是从选定的nCloth对象组件(顶点,边,面)附着到目标nCloth或者被动对象组件上,例如将掉落的头发丝附着在衣物布料上面。Tips图3-15添加约束(2)气球初始状态。根据气球特效设计,我们要让气球从憋的状态→鼓起→飘起这样一个过程,所以我们要给气球设置初始状态,先解算布料让其飘向一侧,在解算器属性中调整风的参数,如图3-16。●AirDensity(空气密度):取值越大,受到空气阻力越大,取值越小越接近于真空的状态。●WindSpeed(风速):风的强度,取值越大,风力越强。●WindDirection(风向):这里取值-1,表明风
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家庭关系维护方案指导书
- 请求2026年项目延期通知(8篇)
- 研发部新项目立项审批及进度安排函(4篇)
- 财务总监财务分析能力绩效评定表
- 客户反馈问题整改跟进通知函(8篇)
- 汽车行业智能化汽车维修与保养方案
- 2026江苏镇江市住房公积金管理中心编外用工招聘1人笔试参考题库及答案详解
- 石油地震勘探工安全实操强化考核试卷含答案
- 制冰工操作规程模拟考核试卷含答案
- 质量检测员缺陷发现率考核表
- 避孕防护知识培训课件
- 2026版一本英语听力训练100篇-3年级
- 《关于优化服务规范监管扎实推进既有住宅加装电梯的通知》
- GJB3206B-2022技术状态管理
- 2025至2030中国家电行业深度发展研究与企业投资战略规划报告
- 我国中老年人群慢性肺部疾病患病率及相关因素分析-基于CHARLS数据库
- 三年级上册英语单词表【1-6单元】
- 课件-隧道施工安全培训
- 脑干出血治疗指南
- 丰乳肥臀在线阅读
- 心境情感障碍的护理查房
评论
0/150
提交评论