Power by Lenshuang~2+3D Game Vfx Base since 2003~2014
  • 2012年09月02日

    Rayfire教程二【转载】 - [Ray fire教程]

    Tag:rayfire

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/lenshuang-logs/221538682.html

    01

    A.总体介绍:

    Logo_RayFire

    Rayfire是俄罗斯一个叫Mir Vadim的脚本/编程高手制作的3ds max脚本插件。目前支持9.0-2010 32bit版本的3ds max,最新的版本为1.46,这个插件的官方网站地址是:http://www.mirvadim.com/

    朋友你可以随时到这个网站下载插件的最新demo版本(在一定期限内你可以使用插件的所有功能)或者觉得它不错的可以购买它,另外网站里包含了完整的英文版在线帮助文档,以及一大堆教学视频范例供你下载,我自己就是通过这些东西来学习这个插件的。

    Rayfire 插件可以基于max自带的Reactor动力学刚体模块或者NVIDIA显卡硬件加速引擎:PhysX的动力模块同时整合max自带的 ProBooleans、ProCutter复合运算以及空间扭曲和例子系统来进行视窗实时交互式的物体动力学计算。目前它可以进行子弹射击、物体碎裂、 爆炸、软体动力学、软体破碎等物理动力学的动画计算,同时对于所有RF的计算结果来说都是可逆转的,也就是说你的操作结果在任何时候都可以进行取舍,通过 RF的Layout(层)功能将可以轻松实现这种操作。对于模拟计算后的结果可以是静态的,也可以通过烘焙动画转换成为标准的max关键帧动画。相对于原 先同类型的插件来说,这个插件的效果是非常“震撼”的,更难得的是计算结果精确度高而且操作简单。不过遗憾的是,目前推出的版本仅支持32位的 3ds max对应版本,并不支持64位的,这算是个小小的遗憾吧,估计未来的版本可以解决这个问题。

    B.安装注意事项

    在安装Rayfire插件时,有几个问题需要注意,否则可能无法正常使用这个插件:

    1、你电脑的显卡最好是NVIDIA的,并且最好是支持PhysX硬件加速的型号,对于装有ATI的显卡的电脑,我并没有使用过这个插件,原因不言自明吧,可能可以使用吧…….

    2、你显卡的驱动最好是NVIDIA官方推出并且通过微软WHQL认证的驱动。我的显卡为 NVIDIA 8600GT,所用的驱动版本为90.38whql。去驱动之家能够找到你所需要的驱动网站地址:http://www.mydrivers.com/。

    3、下载最新的NVIDIA PhysX硬件加速驱动,我目前使用的是PhysX_9.09.0814版本。你可以在你系统的显卡相关设置中看到版本信息,这个东西一般显卡驱动里面都已经附带了,一般不用另外装,否则的话,你就需要单独下载来安装了。

    4、下载PhysX Plug-In for Autodesk 3ds Max插件,这是PhysX引擎对max的插件,Rayfire动力学引擎缺它不可,不过在RayFire安装时默认会自动安装相关文件,所以一般不用另 外装,否则的话,你就需要单独下载来安装了。我目前使用的版本为最新的Max_1.0.6如果有问题你可以到NVIDIA官方去下载,网页地址是:http://developer.nvidia.com/object/p…c_plugins.html

    02

    NVIDIA PhysX for Max插件安装成功后,每次打开MAX,点击Utilities(工具)面板,默认面板下部都会出现Phys X的工具,这就说明这个插件安装成功了。

    注意:有了以上的驱动和插件,那么Rayfire将可以正常运行并使用了。反过来说,如果你的插件不能正常运行的话,请查看上面的几个必备的要求。对于Rayfire本身的安装来说基本没任何特别的地方,一直next就行,我就不在重复了。

    C.3ds max界面中RayFire的组件分布

    安装完成后,你可以在以下地方找到Rayfire的工具:

    1、Customize菜单——Customize User Interface命令——Category:RayFire Tool,通过这里你可以把RayFire的主界面启动快捷方式,自定义到max界面的任何位置。比如右键菜单中。

    2、Create面板——Geometry几何体分类:RayFire Tool,通过这里你可以打开RayFire Tool的主面板。

    03

    未购买软件使用权的时候每次使用RayFire 都会出现下面的注册对话框:

    03a

    3、 Create面板——Helpers辅助物体分类:RayFire Tool,通过这里你可以访问RayFire 两个动力学辅助物体,RF_PhysX以及RF_Bomb。一个用于动画使用PhysX引擎时动画PhysX的参数,一个用于动力学模拟时作为炸弹,计算 爆炸效果。

    04

    在这里你可以使用RF自己的辅助物体,它具有RF专用的一些参数。

    除了以上的工具之外,RayFire也可以利用部分max自带辅助物体,比如空间扭曲辅助物体,如风、重力、粒子炸弹、置换。除此之外RF还可以利用几何体来作为作用力的来源,比如标准几何体或者Editable mesh、Editable poly等等……

    D.RayFire主要控件简介

    RF的主要控制部件和功能都集中在了它的主面板里了,当前的版本中各个不同的控制部件都有了明显的划分,这对于我们能快速的访问我们所需要的功能非常有帮助。

    1、菜单栏

    05

    通过这里你可以快速的访问RF的一些功能以及一些有针对性的优化工具。这里的命令大部分都是下面功能控制组里的相应功能的 快捷方式。根据我的经验来说我们会经常使用到这里的Manager(管理)、Tools(工具)、Options(操作)菜单,请注意自己学习相应的命 令,你留意的话可以在这些菜单中找到许多“熟悉的面孔”,而其它的独特功能也并不难掌握。

    需要注意的是,执行相应的命令,你就必须符合这个命令所要求的执行状态,然后命令操作才会得到相应的结果。

    举例来说:如果你想对场景当前选择的物体使用Execution(执行)菜单下的 Fragment(破碎)命令,要使它得到正确的结果,你就必须先把需要操作的物体添加到RF主面板的Objects(物体)控制组内的Impact Objects(作用物体)列表里,然后在同界面的Fragmentation(破碎)控制组里设置相应的破碎属性参数。最后,才能使用 Fragmentation(破碎)控制组内的Fragment Impact Objects按钮或者是Execution(执行)菜单下的Fragment(破碎)命令,才能最终得到你需要的物体破碎效果。

    注意:在整个RF的操作流程里,你都必须遵守上面这个举例的步骤方法来执行操作,然后才能得到正确的结果,也就是说:首先让RF知道你要对那个物体进行操作,你要RF把这个物体看做什么样的物体,然后对需要进行的操作进行参数设置,最后执行操作。请牢记这个思路!

    2、控制组

    06

    RF的这个区域是我们实现主要功能的地方,它分为了六大块我将分别简单介绍它们的作用和注意事项。

    07

    Objects面板的主要功能是拾取并标记你需要RF进行计算的物体,这个部分非常重要,你需要通过这里的几个列表区域来定义你所要处理的物体,以及它们所具有的物理属性,从而才能为后续的动力学模拟计算做好准备。

    在这个区域里出现的几组参数以及与它们对应的概念对于整个RF操作过程来说都需要特别的注意。我将逐一进行解释:

    Impact Objects(作用物体)在该列表中出现的物体,表示它们将会在RF的后续计算中相互产生作用并同时由RF产生基于物理的动力学运动, 比如一个需要破碎的物体你就需要把它拾取成作用物体然后进行破碎计算。又比如,你需要场景中一个球体与另外一个物体产生碰撞的刚体动力学计算,那么你就需 要把两个物体同时拾取成作用物体,然后利用RF的动力学部件进行动力学的交互运动计算。最后才能得到两个物体的运动计算的正确结果。

    Impact Objects Properties(作用物 体属性)设置在Impact Objects列表中拾取物体的物理属性,这个部分与你所知道的Reactor的操作非常类似,你需要设置物体的材质、质量、摩擦力以及弹性,默认情况下 RF已经为你提供了一堆材质属性预设,所以使用时非常的简单。你打算让虚拟的三维物体转换成为现实中的任何材料所做成的任意物体就把它做相应的设置即可。

    Unyielding Objects(不激活物体)在该列表中出现的物体,表示它们将会在RF的后续计算中影响其它被标记为Impact Objects的物体,不激活物体自身可以具有动画但始终不会因为 RF 的计算而产生任何的动力学运动,这个部分与你所知道的Reactor操作非常类似,正如地面与上面运动的球体和踢球的人一样,大地会产生重力、摩擦力等物理属性从而影响在上面运动的物体,但是皮球不会让地面运动一样,这个概念非常好理解。

    Unyielding Properties(不激活属性)设置Unyielding Objects列表中拾取物体的物理属性,用途于作用物体属性完全一样。

    Inactive Objects(不活动物体)在该列表中出 现的物体,表示它们将会在RF的后续计算中受到标记为Impact Objects的物体所影响而产生运动,而且在受到任意Impact Objects标记的物体影响之前,不活动物体将不会产生交互性的运动动画,只能产生简单的重力动画。也就是说在这个列表中的物体除非受到作用物体影响,否则它们将不会由RF产生运动动画,凡是Inactive Objects列表里拾取的物体,都属于被动运动物体。举例来说,你用一个木棒挥击一堵砖墙,木棒在这里就是作用物体,而砖墙就可以设置为不活动物体,因为它需要由木棒碰触到以后才可能产生下一步的运动效果。

    Inactive properties(不活动属性)设置Inactive Objects列表中拾取物体的物理属性,用途于作用物体属性完全一样。

    注意:作用物体、不激活物体以及不活动物体之间的关系其实不难掌握,在要把你要计算的物体归属于那个类型的物体,这个问题上面,你只要考虑我上面介绍中粗体字标示的功能对号入座即可。

    b Physics(动力学)控制组:

    08

    正如这个卷展的名称一样,Physics(动力学)控制组内的卷展栏都是用于记录和控制动力学模拟计算的设置和参数。你可以通过它们来全局的控制动力学引擎类型、计算精度以及动力学模拟时要考虑的“影响力”、破坏属性等等因素。

    这个控制组由三个卷展组成分别是Physical Options(动力学操作)、PhysX Simulation Properties(动力学模拟属性)、以及PhysX Demolition Properties(动力学破坏属性)下面我逐一简单进行介绍。

    Physical Options卷展主要是用于选择RF计算 时所使用的引擎类型以及动力学模拟时的计算精度,另外还可以进行计算结果的记录输出,也就是烘焙成帧动画或者是静态结果直接输出。就目前最新版本来说RF 现在可以使用两种动力学引擎,就像你知道的一样,分别是PhysX和Reactor。依据你所选择的引擎不同在余下的两个卷展栏中的参数将有部分产生变 化。就我个人而言一直都使用默认的PhysX,因为它比后者计算精度和效率都要好很多。参数方面如果你有原来MAX的Reactor使用经验的话,基本是 没有难度的,无非就是计算范围、碰撞阈值、计算精度这些。卷展中的四个记录动画按钮作用从左到右分别是预览计算动画、记录并烘焙最终的计算结果、暂停当前 计算、停止动力学计算。

    这里我稍微提一下操作方法:

    对于动画结果输出的话,在设置完其它所有操作参数的前提下,你可以这样操作:先点击预览动画,随后在max视图中观察模拟 计算的动画结果(通过设置可实时在视窗中用鼠标来控制运算对象或者实时修改某些动力学参数,RF会实时考虑你的操作),然后再次点击同按钮来停止预览,调 整你所需要修改的参数设置,最后点击记录烘焙动画按钮来产生最终的MAX帧动画。

    随后我会通过实例来说明方法,所以别着急继续往下看…….

    对于静帧结果输出,在设置完其它所有操作参数的前提下,你可以这样操作:点击预览动画,随后在max视图中观察模拟计算的 动画结果(通过设置可实时在视窗中用鼠标来控制运算对象或者实时修改某些动力学参数,RF会实时考虑你的操作),当你看到你所需要的动画帧时,单击暂停当 前计算按钮,然后单击停止动力学计算按钮来得到经过RF动力学计算的MAX单帧输出无动画结果。

    PhysX Simulation Properties卷展 的主要作用是设置RF在进行动力学模拟计算时要考虑的额外因素。你可以通过这里把max的标准动力学力影响加入到RF的计算中,比如风力、重力这些普通的 力影响通过卷展中的拾取列表就能让RF认识“它们”,对于RF自己的力影响物体也是如此。这个部分的其它参数都是用于设置交互影响的设置,它们包括:影响 力物体的倍增设置、动力学实时计算时的物体交互方式设置、群组物体的计算模式、实时计算时是否考虑鼠标操作等等属性设置。

    PhysX Demolition Properties卷展的作用主要是设置RF进行实时动力学计算期间的附加属性。在这里你可以让RF计算实时的二次破碎,以及最近RF版本在这里加入的初级粘性群组物体动力学属性(具有软体橡胶类物体的计算能力),以使成组的物体得到正确的动力学计算结果。

    C, Fragmentation(破碎)控制组:

    09

    Fragmentation面板的主要作用是对拾取到Objects面板内Impact Objects(作用物体)列表中的物体进行破碎计算,另外,在RF进行任何实时破碎计算时实际的破碎效果参数都是通过这个面板中的参数来最终确定的。我 们可以通过这个面板实现多种的破碎效果,比如随机生成的破碎效果,或者通过鼠标移动轨迹追踪的破碎效果,又或者根据其它参考物体的破碎效果(爆炸点)等 等。

    这个部分由三个卷展栏组成:Fragmentation Options(破碎操作)、Draw Fragmentent(绘制破碎)以及Fragmentation by Shapes(通过形状破碎),我逐一对它们进行介绍。

    Fragmentation Options卷展是在使用RF 时使用率最高的地方,为什么呢?原因很简单,不管是静态的碎裂效果还是基于物理的动画化碎裂效果,它们最开始的计算“元素”都将会是这个卷展计算的结果, 也就是基础的物体碎块。这个卷展虽然不大,但是功能却非常强大,同时设置的参数也不多。这完全归功于软件作者,我们那位俄罗斯同志的细心规划啦:O ,下面我介绍一下这里的参数。

    卷展中最上面的Fragmentation Type(破碎类型)列表:

    分享到:

    历史上的今天:

    色彩原理【转载】 2012年09月02日
    暗黑破坏神3 技能 2009年09月02日
    遗忘传说技能3 2009年09月02日
    遗忘传说技能2 2009年09月02日