vfxmayanCloth教程nCloth气球爆炸实例
- 格式:doc
- 大小:399.00 KB
- 文档页数:10
Maya打造龙卷风特效流程解析广东汇众出品导言:我们在电影中观看过《Discovery.Weather.Extreme.Tornado》和《后天》影片,那么场景中一定对影片中凌空飞舞的汽车动物、宛如雨下的断木残瓦,还余悸猶存!很多观众看到Tornado时,似乎很难实现,本教程将告诉大家如何将这看似不可能的事情,通过MAYA的Expression与MEL的结合制作出真实的Tornado画面。
我们重点是在于理清制作思路,从而达到我们的效果。
首先我们使用Maya中的Dynamics(动力学)模块,Dynamics(动力学)模块是很多使用MAYA制作特效用户的一个核心。
那么我们在Dynamics(动力学)模块找到particles(粒子系统)的Create Emitter (创建发射器)。
(图01)图01接下来点开Create Emitter(创建发射器)的属性来设置一下发射器的属性设置。
(图02)图02创建完粒子我们播放一下观察粒子的动态,这时我们发现粒子的动态在三维空间里成球状发射。
(图03)那么我们现实中的Tornado是旋转的,但是Maya中的particles发射方式是放射型,这样我们没有办法去叫particles形成一个旋转。
这个时候我们要理清以下思路,看看能有那一种方法去叫particles旋转出来,但是Tornado的旋转需要带扭曲、摆动、而且Tornado 是强冷暖对流形成是从上到下对接,这样不能单单的用场去控制。
目前制作龙卷风的方法有很多,但形成后控制不是很方便,尤其是龙卷风的质感很难制作。
那么我们得知MAYA里有fluid(流体),fluid制作火和烟尘很真实,但是fluid非常不容易控制,我们制作的思路就是利用MAYA的particles形态驱动fluid的烟尘效果,把这两个系统融入到一起。
我的制作思路是使用Maya中的函数控制particles的空间位置。
Maya的函数是给我们制作特效人员的一个了精髓,这样我得知两个函数是我们制作Tornado的重要部分,他们分别为 sin、cos ,我们简单说明以下两个函数的原理:Sin与Cos函数取某个角并返回直角三角形两边的比值。
FLASH CS3 实例打气球游戏打气球游戏是通过鼠标移动动画中的瞄准星,当对准随机生成的气球时,单击鼠标即可将气球打爆。
当打爆的气球数为5个或5个以上,即会宣布胜利;当丢失气球数为3个或3个以上,即会宣布游戏失败。
效果如图12-37所示。
图12-37打气球游戏技能要点-随机函数在Flash的各种函数中,Rondom()随机函数也是非常有用的函数。
通过该函数可以返回一个随机数,该随机数大于等于0且小于1。
正是因为随机函数的这种特性,可以用它做出各种特殊的效果,例如随机移动的彩色线条。
首先,新建“mask”影片剪辑,并在其中创建一个变色线条沿引导线移动的动画,如图12-38所示。
图12-38 创建引导遮罩动画在【库】面板中右击该元件,执行【链接】命令,设置【类】名称为“新建“Action”图层,打开【动作-帧】面板,并在其中输入创建content_mc影片剪辑的代码,如图12-39所示。
图12-39 创建影片剪辑将光标置于第6行,创建侦听时间事件,并设置事件间的延迟为1000毫秒,如图12-40所示。
图12-40 创建侦听时间事件将光标置于第13行,创建showM()函数,将tmpmc影片剪辑加入到content_mc影片剪辑中,并调用random()函数产生随机坐标及方向,如图12-41所示。
图12-41 showM函数将光标置于第26行,创建random()函数,该函数可以指定产生某两个数之间的随机数,如图12-42所示。
图12-42 random函数最后保存文档后预览效果,如图12-43所示。
线条动画会在舞台中产生随机位置和方向。
图12-43 预览效果制作过程在本例中,首先将鼠标的光标替换成为绘制的瞄准星。
然后,通过随机函数在设定的范围内随机调用气球元件。
最后,通过侦听鼠标单击事件,可以将向上飞的气球打爆。
(1)在空白文档中,将所有素材图像导入到【库】面板中,然后将BG.ai背景图像拖入到舞台中,如图12-44所示。
这一节我们来看一下Passive Object 的创建和设置,然后体验一下上一节内容中所提到的众多属性的具体效果,maya的动力学有交互式演算(interactive Playback),对于我们研究动力学的属性有很大的帮助,在交互式演算中,属性的调节可以实时地得到反馈,我所用的flag场景非常简单,所以可以得到很好的交互速度。
首先来看一下场景,我在flag下面放了一个polySphere作为Passive Object和布料发生碰撞,我们采用默认的属性:创建这个Passive 物体非常简单:所提供的选项就一个:关于这个选择我在前面已经说过,这里不重复。
摆好球的位置,然后播放:everyting is fine!s我们选择这个球体,打开attributeEditor,找到nRigidShape1 节点,我们来看一下properties栏:大多数属性一眼望去就能知道是做什么的,比如thickness和Collision Layer,我们来凑近看一下0.011对于这块布来说有多厚:可以看到flag和球体间的缝隙,我们来打开球体的shell外壳显示,并把颜色设置为绿色。
注意这些外壳只是一个交互显示的解算厚度,并不是模型的真实可渲染的厚度:很清楚的看到,绿色的外壳没有占满整个缝隙,剩下的空域就是布料的厚度:我们同时打开布料的shell显示,看得更仔细一些:我们可以打开Interactive Playback 然后根据模型的大小尺寸实时的调节布料的厚度,非常方便。
Bounce(反弹力):物体对其他nCloth物体的反弹力,比如水泥(0),弹性橡胶(>0)。
Friction (摩擦力):没错,就是指摩擦力,没有什么需要特别解释的地方。
下面有一栏叫做Surface Properties Maps(属性贴图)在这里,我们可以对碰撞物体的厚度,反弹力和摩擦力用贴图控制,非常强大的功能,在nCloth节点中也有很多属性可以被贴图控制,我以后会详细说到,这里只要知道,属性控制贴图有两种,一种是per-vertex,还有一种就是贴图,前者将数值存储在没一个vertex顶点上,后者通过采样贴图来控制,贴图的麻烦在于需要模型有一个良好的UV。
20l球爆炸实验步骤
宝子,今天来和你唠唠20L球爆炸实验的步骤哈。
咱得先准备好材料呢。
一个20L的球,这可是主角哦。
然后得找个安全的地方做实验,可不能在屋里瞎搞,最好是那种空旷的室外场地,像大操场之类的。
接着呢,要往球里装东西啦。
这装的东西得根据你想要的爆炸效果来哦。
要是想简单模拟一下,弄点那种能产生气体的化学物质,不过这可得小心,化学物质得是合法合规能搞到的哈。
把那化学物质按照一定比例小心翼翼地放进球里。
放好之后呢,就得把球密封好啦。
密封得严严实实的,就像给它戴上一个超级严实的帽子一样。
然后呀,就要想办法引发反应啦。
这可能就需要一些特殊的装置或者条件。
比如说如果是化学反应,可能需要加热或者加入催化剂之类的。
但是宝子,这一步可千万千万要小心哦,因为这时候就离爆炸不远啦。
在引发反应之后呢,你就得赶紧跑到安全距离之外啦。
这个安全距离可得好好计算,别傻乎乎地离得太近。
然后就等着看球爆炸啦。
不过宝子,我得和你说,这个实验超级危险呢。
要是没有专业的知识和指导,可千万别轻易尝试。
这搞不好就会伤到自己,还可能违反法律法规啥的。
咱就把这个当成一个有趣的知识了解一下就好啦,可别真的去冒险做这个实验哦。
要是真的对爆炸实验感兴趣,咱可以去看看专业人士做的演示,又安全又能满足好奇心呢。
在创建任何一个效果前,我们都应闭上眼睛仔细想下所要的效果到底是怎么样形成的,形状如何,原理如何?然后如何通过MAYA来表现,理清思路后,才能高效的出效果。
先看效果图:首先、建立场景。
一个多边形球PSPHERE1,一个多边形平面PPLANE1。
还有做为粒子替代的五块用多边形球做成的碎石块第二、在PSPHERE1的位置建立一个发射器(PARTCLEL>CREATER EMITER)。
我们把喷射出粒子1(particle1)用五块石头来替代它,方法是先选中五块碎石块再选粒子1,然后点击particle>Instancer(Replacement),这样由发射器喷出的粒子就变成了碎石块下面的是粒子1的属性设置图:第三、再创建一个粒子。
在实际生活中,爆炸出的碎块后面都带着烟雾的,因此,选中particle1,点击菜单particles>Emit From Object。
这样particle1后面就带上了粒子,下面设置它的属性,选中test_particle2打开它的属性面板,进行编辑,使它成为烟雾状。
具体参数如图:粒子的渲染形状为Coud(s/w).分别对粒子的半径,透明度和白炽发光进行了Ramp处理第四、对粒子1和2分别加场进行影响,使其更加符合真实的效果。
对Particle1加了扰乱场1,值的注意的是这里用了体积控制属性,把对粒子的扰乱控制在在立方体内的范围内。
另加重力场,使粒子最终下落。
粒子2(test_particle2),加了扰乱场(test_turbulenceField1),在这个扰乱场的Y轴上给了一表达式来控制它,使它的影响随着时间的变化而上升。
test_turbulenceField1的表达式:test_turbulenceField1.phaseZ = time第五、布光。
在这里用到两个泛光灯(ponintLight1和ponintLight1)和一个平行光(directionalLight1)。
炸气球利用化学反应使气球膨胀并炸气球是我们在生活中常见的一种装饰物品,而利用化学反应来使气球膨胀并且达到炸的效果则是一种趣味十足的实验。
下面就让我们一起来了解一下这个有趣的实验吧。
首先,我们需要准备的材料有:氢氧化钠(NaOH)、铝箔纸、气球、喷雾瓶、水和安全眼镜等。
接着,我们将氢氧化钠倒入喷雾瓶中,将铝箔纸制成小块并放入气球中,将气球放置在一个安全的地方。
然后,当准备就绪后,我们就可以开始实验了。
首先,小心地戴上安全眼镜,然后将喷雾瓶中的氢氧化钠喷洒到铝箔纸上。
随着化学反应的进行,氢氧化钠和铝箔之间会产生氢气,氢气会使气球逐渐膨胀起来。
最后,当气球膨胀到一定大小时,由于氢气的膨胀作用,气球终将会炸裂,发出一声响亮的爆炸声,给实验增添了一些刺激的趣味性。
通过这个实验,我们不仅可以学到一些化学知识,还可以体验到化学反应的神奇魅力。
当然,在进行此类实验时,一定要注意安全,遵守实验室规定,保护好自己,并避免产生意外。
总的来说,炸气球利用化学反应使气球膨胀并炸的实验,不仅富有趣味性,同时也能增加我们对化学科学的认识。
让我们在未来的实验中,继续探索更多有趣的科学实验,丰富我们的科学知识,提高我们的实验技能。
愿大家在学习的路上不断进步,探索未知的领域,创造更多的科学奇迹!。
一、实验目的1. 了解气球的物理和化学特性。
2. 探究气体压力与气球膨胀的关系。
3. 学习化学实验操作,观察化学反应现象。
4. 分析气球爆炸的原因,提高实验安全意识。
二、实验原理气球内部充满气体,气体分子之间有间隔,受到外界压力时,气体分子间距会增大,导致气球膨胀。
当气球膨胀到一定程度,内压超过气球材料的承受极限时,气球会发生爆炸。
三、实验材料1. 气球若干个2. 气泵3. 烧杯4. 烧杯盖5. 氢氧化钠溶液6. 氯化氢溶液7. 试管8. 滴管9. 铁架台10. 铁夹11. 火柴四、实验步骤1. 准备实验器材,将气球充满氢氧化钠溶液。
2. 将充满氢氧化钠溶液的气球悬挂在铁架台上,用铁夹固定。
3. 将氯化氢溶液倒入烧杯中,用滴管滴入少量氯化氢溶液。
4. 观察气球膨胀情况,待气球膨胀到一定程度时,用火柴点燃气球。
5. 观察气球爆炸现象,记录实验结果。
五、实验现象1. 气球充满氢氧化钠溶液后,气球膨胀速度较快。
2. 气球膨胀到一定程度时,内压超过气球材料的承受极限,气球爆炸。
3. 气球爆炸时,产生大量气泡,并伴有响声。
六、实验分析1. 氢氧化钠溶液与氯化氢溶液反应生成氯化钠和水,反应方程式为:NaOH + HCl → NaCl + H2O。
2. 反应过程中,氢氧化钠溶液中的氢氧根离子(OH-)与氯化氢溶液中的氢离子(H+)结合,生成水分子,同时释放出大量热量。
3. 热量使气球内气体温度升高,气体分子运动加剧,导致气球膨胀。
4. 当气球膨胀到一定程度,内压超过气球材料的承受极限时,气球发生爆炸。
七、实验结论1. 气球爆炸是由于气球内气体压力超过气球材料的承受极限所致。
2. 氢氧化钠溶液与氯化氢溶液反应产生的热量是导致气球爆炸的主要原因。
3. 在进行化学实验时,应注意安全操作,避免发生意外事故。
八、实验注意事项1. 实验过程中,应佩戴防护眼镜和实验服,防止溶液溅入眼睛或皮肤。
2. 实验过程中,应远离火源,防止气球爆炸引发火灾。
爆炸气球小游戏
玩法和规则:
1. 游戏开始时,屏幕上会出现一些不同颜色的气球,玩家需要点击
或触摸这些气球来爆炸它们。
2. 每次爆炸气球都会获得一定数量的分数,不同颜色的气球可能有
不同的分值。
3. 游戏有一个时间限制,玩家需要在规定的时间内尽可能多地爆炸
气球。
4. 在游戏中,可能会出现一些特殊的气球,比如奖励气球或者惩罚
气球。
奖励气球可能会给予额外的时间或分数,而惩罚气球可能会
扣除时间或分数。
5. 玩家需要小心不要爆炸惩罚气球,同时要尽量多地爆炸奖励气球,以获得更高的分数。
术语和技巧:
1. 玩家需要灵活运用手指或鼠标来点击或触摸气球,以快速地爆炸
它们。
2. 玩家需要注意时间的流逝,合理安排爆炸气球的顺序,以最大化
地获得分数。
3. 在出现特殊气球时,玩家需要快速做出决策,判断是继续爆炸普
通气球还是去爆炸奖励气球,以最大化地利用特殊气球的效果。
总之,爆炸气球小游戏是一个考验玩家反应速度和决策能力的游戏,玩家需要灵活运用技巧和策略,以获得最高的分数。
希望玩家能够
尝试不同的方法,挑战自己的极限,享受游戏的乐趣。
Maya特效—爆炸本节我们学习爆炸的制作过程,分为七个步骤,创建粒子、创建平面、创建碰撞、创建粒子替代、编辑粒子替代、调节粒子属性、创建石块拖尾。
一、创建粒子Step01从状态栏的菜单选择动力学模块,快捷键F5。
Step02从菜单栏粒子-创建发射器- ,打开创建发射器窗口,执行菜单重置设置命令,将选项窗口中的属性重置,点击创建按钮,如图1,创建一个新的粒子发射器。
Step03将动画播放时间设置为100,播放动画观看发射效果。
Step04选择发射出来的粒子,进入其属性编辑器面板,选择ParticleShape1标签,将渲染类型改为球形,按5键实体显示,观察粒子效果,如图2。
Step05在大纲视图中选择发射器1,进入其通道盒面板,将发射器类型改为方向类型,将x、y、z轴方向设置为0、1、0,让粒子沿y轴发射,然后将速度值设置为15,如图3。
Step06单击动画播放按钮,播放动画可以发现,一个粒子在一个锥形空间内向上运动。
目前还存在两个问题,一个是因为粒子会持续发射,这是不对的,另一个问题是喷射出的粒子一直在场景中运动,没有消失。
接下来我们需要对速率值设置关键帧。
二、创建平面Step01回到多边形模块从菜单创建-多边形基本体-平面命令,在视图中心位置创建一个平面,使用缩放命令调整平面的大小,如图4。
Step02单击动画播放按钮,发现发射出去的粒子没有下落,这时需要给粒子添加重力场。
三、创建碰撞Step01选择粒子1,执行菜单场-重力命令,给粒子添加重力场,再次播放动画,粒子就会下落,如图5。
Step02选择粒子,加选平面,单击粒子-创建碰撞- ,打开窗口,设置弹力值为0.2,摩擦值为0.3,单击创建按钮,如图6。
Step03使用移动工具将发射器1沿y轴移动一个单位,播放动画,此时的粒子就会落在平面上与平面产生碰撞,如图7。
四、创建粒子替代Step01执行菜单创建-多边形基本体-立方体命令,创建一个立方体,将其放大一些,并进入其通道盒面板,单件polycube1将其展开,将细分宽度/高度/深度设置为3,然后对其形状进行调整,修改为不规则石块物体,如图8。
MAYA最令人称道的是它的粒子—动力学技术,这使用建模和动画方面的技术不可能实现的效果成为可能,比如爆炸,旋风或者成群飞舞的昆虫。
maya的粒子—动力学系统相当强大,一方面它允许使用相对较少的输入方便的控制粒子的运动,令外可与各种不同的动画工具混合使用,也就是说可以与场,关键帧,Expressions等相当方便的结合使用。
MAYA粒子—动力学系统让即使在控制大量粒子时的交互性作业成为可能。
以下的教程能帮助读者逐步了解MAYA粒子—动力学系统的使用。
它将描述使用粒子相对快捷的建立一个爆炸效果的过程,但maya基础使用命令将不再一一详述。
大部分内容对于有经验的读者应相对容易理解,最后教程还会对重要步骤给出附加信息和注释。
粒子设置:1.首先设置一个directional Emitter(Base)粒子发射器。
directional Emitter发射的粒子要与另外三个发射器:Omni Particle Emi t ter"(Fire, Smoke & Sparks)通过Emit from Object相联接。
2.Base粒子发射器有以下属性:Direction Y = 1 , Direction X = 0, “Spread” = 0.7, “Speed” = 53.Base发射强度Rate设置关键帧为:frame 0 = 0, frame 60 = 100, frame 70 = 0Grapheditor里改用Stepped类型的Tangenten 见图4.设置Fire, Smoke 和Sparks发射器为:Fire_Emitter: Rate = 35 Speed = 0.2, NormalSpeed: 0.3Smoke_Emitter: Rate = 30, Speed = 0.2, NormalSpeed = 1Sparks_Emitter: Min Distance = 0.3, Rate = 50, Speed = 0.7, SpeedRandom = 0.3, Normal Speed = 15.粒子特性设置为:见图1—3Fire_Particle:Dynamics Weight = 0.3, Inherit Factor = 0.5, Lifespan: Random range (3.000 / 0.500), Particle R ender 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.300Sparks_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项找到相应属性添加。
(vfx)maya-nCloth-教程--nCloth-气球爆炸实例
————————————————————————————————作者:————————————————————————————————日期:
先看一下动画结果,maya直接抓屏的,气球以外的东西请大家忽略,我们主要关心气球的初始状态,鼓起,悬浮,爆炸这样一个过程。
我晕~传个视频这么夸张?!
第一步要建立一个球体的模型,但是我发现如果用一个简单的poly Sphere 并不能得到很好的动画效果,它两头各有一个极点,最好的模型是完美的四边形镶嵌。
我们可以通过subdiv的sphere转成polygon得到,就是上图中间一个球体。
下一步就是一点建模工作,做出一个气口,我做的很丑,大家应该整的比我好
建模完成以后,先让它结算一下,看一下大概的结果,注意,这里只是检查一下模型,在真正结
算之前还有很多工作要做!!
这一步就是建立tearable Constraint,通过选择Vertex点来指定碎裂的路径,发图太麻烦,我直截取一个视频,应该能看懂。
真实的气球爆炸不是像我画的那样,但为了好看,我就多画了几道。
nCloth的约束有一点不方便的地方就是所有的约束做出来都是一个名字:dynamicConstraint,所以我们最好根据不同的类型重命名一下。
视频中我将tearable constraint的glue Strength打到了1,代表点之间会牢牢的粘在一起,不会分开。
需要注意的是,glue属性是和场景中物体的大小关联的,如果glue值打到1,布料还是会分裂,或者相反布料无法分裂,就需要调节一下glue strength scale的值。
在glue strength的数值为1的情况下,我才能继续解算布料的initial state。
在做完这一步以后,有一点需要注意:如果需要在tearable以后进行诸如添加新的nCloth
约束,绘制VertexMap等操作,必须在inputMesh上进行。
我希望气球瘪气的时候是成长条状伏在地面上(这里的“地面”,我使用了nucleus节点下的Ground Plane 虚拟了一个高度为0的地面),办法有很多,如果你的机器性能较好,可以使用Interactive Playback实时地拖拽布料直到满意,我用的方法是做一个模子,帮助布料塑形。
一旦对初始状态满意,记得使用Edit nCloth -> initial state -> set from Current 保存当前状态。
这就是我解算完成的气球的初始状态。
当完成tearable Constraint 以后,我们要考虑一件事情,什么时候,tearableConstraint会发生作用?
当我们施加了straints 以后,在解算的第一帧,maya便完成模型的分割,根据glueStrength 的数值来决定布料对于外界施加力的“灵敏度”,glueStrength数值为0 时,布料一旦开始解算就会分裂,相反为1时,布料不会分裂(glueStrengthScale==1)。
所以,我们可以
A:通过多次解算,尝试出一个数值,使布料在某一时刻点破碎,或某一次碰撞强度下破碎。
B:直接在glueStrength上加关键帧动画,在需要布料破碎的那一个点上,把数值打到0,这样布料就瞬间破碎了。
对于气球的爆破,B方法最合适不过了。
决定了爆破的方法,下面的事情就很简单,让气球充气变大,上浮,爆破(glueStrength=0)。
因为这里使用Manual,只有两个属性,Pressure 就是Pressure,没什么多解释的,数值大内压高,模型就鼓起来,负值就是内压逃逸了。
要关心的事情不在这里,而是另外三个数值:
这三个数值是布料行为的最重要的三个属性,在syflex中,也有对应的属性名称。
分别是
抗延展,抗收缩,和抗弯折,这三个属性对应的是布料的link和edge的行为。
在这里,就是气球对内部压力的“抵抗”。
好在Maya8.5 sp1 为我们预置了很多不同的属性组合产生不同的效果,我们可以在nClothShape节点的presets里面选择一个适合的start point,比如Solid Rubber (固体橡皮),把stretchRes调低,或者最中性的Tshirt,调高一点damp,减小摩擦就可以得到想要的效果。
这里我贴上我的设置:
至于布料的漂浮,方法不下四五种,还可以互相组合,最简单,最直接的就是如上图将重力方向反一下,气球就会上举,根据气球充气变大的速度,加上动画即可
最后的收尾工作
在完成以上的步骤以后,反复调试数值组合,我们要收拾一下气球破裂以后的残局。
虽然气球破碎了,但是,所有的相关属性和节点都还在起作用!!包括pressure,所有的Constraints,还有布料本身的自碰撞,如果不关闭这些属性,那么气球破裂以后,那些碎片会上下翻飞最后扭做一团!
处理的方法也很简单,直接在一些boolean值上K动画,在爆破后关闭所有的约束和自碰撞以及preesure,只留下和地面以及其他passiveObjects的碰撞,贴上一些例子,注意这些Tangents 都是stepped的:。