用户名 密    码

3ds Max动力学教程-动力学插件RayFire 入门教程(5)

来源:互联网 作者:未知 发布时间:2010-09-07 21:29:14 网友评论 0


必须注意:对于整个Fragmentation面板来说,我们所得到的结果是可以互相作用的,意思就是说,我可以先通过Objects 面板拾取我场景中的Impact Obiects(作用物体),然后使用绘制破碎来对我的几何体进行第一次的手工碎裂计算,然后RF会把这个操作之后的结果,也就是若干的碎片几何体,自动加载到Impact Obiects物体列表中,然后我可以直接点击Fragmentation Options卷展中我选择的任意一种自动的程序式破碎类型计算第二次计算破碎结果,随后RF又会把这个操作之后的结果,自动加载到Impact Obiects物体列表中,然后我又可以继续操作……….

这种过程理论上说只要你电脑的内存足够大电脑配置越好,那么可以无限次的进行下去!这里体现了RF的强大,但是同时也有两个问题需要考虑,第一MAX自身的承受能力,因为RF的每次计算或操作结果都将备份原始的未处理物体(把它们隐藏起来),然后对“复制的物体”进行计算处理。你可以想象一下,换算成几何体面数的话,越到后面就越考验MAX的承受能力。第二是内存的使用量,跟前一个问题一样,RF每次处理操作,尤其是破碎计算操作的时候都将使用大量的内存,这可以从你每次点击Fragmentation Options卷展中的Fragment Impact Objects按钮后出现的进度条看出,而且在你不加干预的前提下,这种内存的使用量是叠加的关系,物体的碎裂结果和原始的物体都将保留在你的系统内存之中!这两个问题直接导致的后果就是MAX当机,或者直接不打招呼直接强制退出程序,原因不言自明。这类问题是我们在使用RF时需要特别注意的问题!

当然RF已经提供了工具和命令,帮我们大部分的解决了这类问题,所以不必担心,我后续的文字中将会阐述如何来解决和避免这些问题,以及一些必要的优化方法。

d Shooting(射击)控制组:

 MAX 动力学插件RayFire 入门教程之一 - 风雨一线天  - 王小虎 cg教程站

Shooting面板的主要作用是利用MAX自身的Reactor动力学引擎为基础来模拟计算枪械射击物体的整个过程并且同时产生所有附属物的动画结果。对于整个“过程”而言,我们可以进行完全的控制并且射击过程所产生的任意效果,不论是在模拟计算之前还是之后都可以进行任意的添加或者修改。也就说利用RF的这个部分我们可以在MAX内部轻松实现电脑游戏《反恐精英》中的警匪枪械从发射子弹、子弹飞驰、击中物体到火候四溅血肉横飞的整个动画效果。最经典的是RF的这个部分还可以配合外部的粒子系统,比如ThinkingParticles这样的高级粒子系统来实现更加复杂的粒子效果。你可以想象一下,这是个多么令人激动的功能组件!

由于这个部分的卷展菜单以及参数众多,这里我只能简略的对它们进行介绍,但是我会为读者你首先提供一个大略的操作步骤和思路:

对于射击模拟来说,RF首先需要你指定一个Gun Objects(枪物体),然后指定被射击的物体,随后制定模拟时需要出现的效果和相应的效果参数,最后设置模拟的动画范围和对应的参数,最后进行模拟射击计算。

注意:这里的枪物体你可以自己制作,也可以通过RF菜单栏Tools——Create Gun来自动建立一个,研究一下这个由RF自己建立的物体你就可以知道如何去制作你自己的枪物体了。另外这个Gun Objects是需要提前制作动画的,否则你在RF计算之后是看不到动态的弹道运动动画的。其次“被射击物体”实际在RF的操作中是由Objects面板内的Impact Objects(作用物体)列表中拾取的物体来指定的。同理“地面、实体墙”这些不可动的物体,也是通过Objects面板内的Unyielding Objects(不激活物体)列表中拾取物体来指定的。

上面这种“传统”方式在RF中称为Simulate Shooting(模拟射击)模式;而在整个过程中你也可以不使用“枪物体”而是在视窗中使用鼠标点击来替代枪物体的作用,这种方式的其它操作流程和第一种方式相同,而这种鼠标控制的方式在RF中被称为Instant Action(及时激活)模式,它的效果是所见即所得的实时计算效果。而第一种方式是计算完成之后才能得到结果的。这两种模式可以通过Shooting Options卷展的同名按钮来进行激活。

对于两种射击模拟方式来说,最后的计算结果又可以通过两种交互式模式(Interactive Mode)来进行实时的效果参数修改。第一种模式称为Selected Layer(被选择的层),这种模式依赖于Layers面板中当前选择的效果层而言,通过当前你所选择的效果层来修改层内的所有已存在效果。(注:Layers(层)的概念我会在后面叙述)第二种模式称为Selected Objects(被选择的物体),这种模式比较直观,你可以在场景中选择任意一个经过射击计算后的物体,然后对它进行实时的参数修改。因为整个射击模拟过程最后的计算结果都是动画化的,所以经过这两种效果修改模式修改后的效果都将跟随效果一起继续保持动画的结果。这两种修改模式可以通过Shooting Options卷展最下部的同名按钮来进行激活。

通过上面思路的介绍,以及两个计算模式和两种修改模式的介绍,我想读者你大概应该理解一些操作的方法了。实在不行的话等我有空再写一篇RF这个部分的教程,到时候我们在讨论吧。

最后对于这个部分中的所有卷展栏及参数,我快速的梳理一下它们功能:

Shooting Options(射击选项)卷展:用于指定“枪”物体,选择计算模式,选择修改效果模式,全局控制整个射击模拟计算的动画参数,控制射击时需要产生效果的全局开关。射击时产生的效果包括有:弹坑、子弹、碎块。粒子效果能产生:血块、火花、碎块、烟雾或者自定义的粒子系统,对于子弹击中后的物体可以产生:动力学的几何体破碎、置换、预定义的弹孔几何体等等效果。

Holes(孔洞)卷展:预先定义被射击物体上的弹孔形状几何体及其变形参数。

Reactor Debris(动力学Reator碎块)卷展:预先定义Reator射击模拟后得到的碎块几何体及其利用Reactor进行碎块模拟变形的参数。

Decals,Bullets(弹坑,子弹)卷展:定义弹坑贴图的尺寸、子弹物体的形状几何体及其物体参数。

Displace,Reactor Hit(置换,动力学Reator射击)卷展:定义置换贴图生成的参数以及利用Reactor进行射击动力学模拟的参数。

Light(闪光)卷展:定义枪口及击中物体时产生闪光的灯光参数属性。

Debris(碎块)卷展:预先定义碎块的形状几何体以及与它交互作用的导向板(MAX内古老的Deflector)拾取及其相应参数。

Sparks(火花)卷展:定义击中物体后产生火花的几何体参数,以及与它交互作用的导向板拾取。

Smoke(烟雾)卷展:定义子弹射击至物体时产生烟雾的粒子系统的生成参数。

Blood(血块)卷展:定义击中物体后产生血块的粒子系统参数,以及与它交互作用的导向板拾取。

Custom Effect(自定义效果)卷展:从这里你可以拾取外部的粒子系统来增强RF射击计算的效果。这里就是RF系统相对于PF、TP这些高级粒子系统的数据交互接口。

e Reactor(Reactor动力学)控制组:

 MAX 动力学插件RayFire 入门教程之一 - 风雨一线天  - 王小虎 cg教程站

Reactor面板的主要作用也是利用MAX自身的Reactor动力学引擎为基础来模拟计算物体爆炸冲击波和破碎效果,并且同时将产生相应的动画。对于这个部分来说,我个人使用经验,觉得效果并不是很好,而且操控性差了一下。感觉这里仅仅是把Reactor的相应功能做了一个集成在这个面板里,有待于软件作者对这里有更进一步的开发吧。

这个部分由两个卷展栏组成:Reactor Explosion(Reactor爆炸)以及Reactor Demolition(Reactor破碎),使用的方法与 Shooting面板中的卷展差不多:由Objects面板内的Impact Objects(作用物体)列表中拾取的物体来指定需要爆炸计算的几何体。同理“地面、实体墙”这些不可动的物体,也是通过Objects面板内的Unyielding Objects(不激活物体)列表中拾取物体来指定为不参与计算的物体。有点小差别是Reactor Explosion卷展中的Bombs(炸弹)拾取列表,可以用于指定炸弹物体,从而使几何体产生爆炸动力学计算,炸弹物体可以是标准的MAX空间扭曲力物体,也可以是RF自己的RF_Bomb物体。另外也可以不指定Bomb辅助物体,这样的话RF将使用参与爆炸计算的所有物体的相对位置来作为爆炸或者破碎的基准。参数方面也就Reactor里面那些东西并不难掌握,读者你可以自己用原来方法使用这些参数。

物体拾取及参数设置完成以后可以通过两个卷展最下方的按钮来执行相应的计算,然后都将获得一个“萎缩”版本的动画结果,你可以手动调整MAX的动画范围来达到正常的动画效果。

最后要注意的是,要使Reactor爆炸或者Reactor破坏计算成功的话,你需要向原来使用Reactor一样,注意设置物体的属性、Bombs辅助物体的属性以及RF相应卷展中的计算属性,综合上述的参数才可能获得理想的计算结果,这也是我们在使用同类软件或者插件是需要注意的问题。一旦出现了错误,读者你就该用我说的这个思路去尝试解决问题。

搜索栏目