当前位置: 首页 > 图文教程 > 3D设计 > 3DMAX > 3dmax实例 > 3ds MAX 7.0 PF Source粒子详解之Test功能

3dmax实例
VR商业图大空间灯光控制案例
3ds max制作彩块和亮球
3ds max技巧:不用布尔运算的开窗凿洞
3ds MAX透光窗帘阴影的制作
3ds MAX实例:一盏铜油灯的建模及渲染
VR实例教程:圆珠笔的渲染和建模
VR玻璃与瓷器的渲染教程
一个VR渲染教程
3ds max新手角色教程(一)头部
3ds max新手角色教程(二)头发
3ds MAX实例教程:室内渲染全过程
3DS Max翻译教程:VRay:布光思路
3DS MAX教程:制作打碎的花瓶全过程
3ds max教程:打造逼真红玫瑰全过程
3ds Max教程:打造魔法师的神秘水晶球
3ds MAX9.0教程:逼真金属挂锁制作过程
3ds MAX 8.0教程:打造一枚纪念币
3ds MAX8.0教程:用自带程序贴图打造大理石效果
3DSMax教程:时尚金属质感怀表的制作
3ds MAX 7.0 PF Source粒子详解之命令面板参数

3dmax实例 中的 3ds MAX 7.0 PF Source粒子详解之Test功能


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-25   浏览: 135 ::
收藏到网摘: n/a

  概述:Test(测试)在粒子流中,其基本功能就是用来测定粒子是否符合一个或是多个条件,如果符合条件,则粒子可以发送入另一个事件。当一个粒子通过测试时,则发出“Test True”(测试通过)的信息。在把符合条件的粒子发送入另一个事件时,必须将粒子通过的测试和该事件线接在一起。未通过测试则发出“Test False”(测试错误)的信息,同时保持该事件状态并重复受制于它的操作器以及所需要的测试。其中的一些测试同时也可以作为操作器来使用,因此包括一些用于控制粒子行为的参数。如果没有将一个测试和另一个事件线接起来,则测试仅仅起到类似操作器的功能。需要注意的是,除了特殊原因之外,一般都将测试放在事件的末尾。按下键盘上的6键,打开粒子视图,如图1-1所示即为所有的测试。

图1-1


  1、Age Test(年龄测试)。在粒子视图中,将Age Test拖动到上面的事件窗口中,选择Age Test,在其右侧即可看见它的命令参数,如图1-2所示。

图1-2


  功用:从动画开始算起,通过“年龄测试”,粒子系统可以检查开始动画后是否已过了指定的时间,某个粒子已存在多长时间,或某个粒子在当前事件中已存在多长时间,并相应导向不同分支。

  在下拉列表中选出一种需要测试的年龄类型。默认为Particle Age(粒子年龄)。

  Absolute Age(绝对年龄):测试当前动画的全部帧数。
  Particle Age(粒子年龄):测试每个粒子的当前年龄。
  Event Age(事件年龄):测试当前事件的持续时间。
  Test True if Particle Value选项组:主要用于指定当粒子通过测试时,是否让粒子进入下一个事件。默认情况下为Is Greater Than Test Value。当然也可以选择第二项Is Less Than Test Value。例如,如果选择了绝对年龄的测试类型并且设置了测试值为60,随机数为0,选择了Is Less Than Test Value的通过测试方式,则粒子只有在60帧时才开始进入下一事件,60帧以后,粒子仍保持在当前事件中。
  Test Value(测试值):指定需要测试的特定帧数、粒子的年龄或者事件的持续时间。默认值为30。注意此项不能设置动画。
  Variation(变化):被测试的值可以有随机的变化的帧数,默认值为5。例如,如果设置了测试值为300,改变量为10,则每个粒子的测试值可能在290和310之间。注意此项不能设置动画。
  Subframe Sampling(子帧取样):选中这个复选框可以避免粒子的“Puffing”(膨胀)情况。默认为选中。
  Uniqueness(惟一)选项组
  Seed(数量):指定随机数值。
  New(速率):使用随机公式计算新种子。

 

2、Collision tests(碰撞测试)。其命令面板如图1-3所示。

图1-3


  功用:用于与一个或多个指定的空间扭曲导向板碰撞的粒子测试。同时也可以测试一个粒子在发生碰撞以后,速度是减慢还是加快,甚至能够测试出是否在指定的帧数内与导向板相撞。碰撞测试支持除了DynaFlect(动力学导向板)以外的所有导向板。需要注意的是,当测试碰撞多个导向板时,最好把所有的导向板都放在一个碰撞测试中,这样会为所有导向板的碰撞同时进行测试,也可以帮助防止可能错误的碰撞。

  Deflectors(导向板)选项组。在这里可以显示出当前生效的导向板,也可以添加和移除导向板。
  List(列表):显示应用于此操作器的导向板。如果将一个导向板从列表中删除,则其名称由“”(已删除)代替。
  Add(添加):单击此按钮,然后在场景中单击选择要添加入列表的导向板即可将导向板加入列表当中。
  By List(按列表):单击此按钮,然后在选择导向板对话框中选择需要加入列表的导向板,需要注意的是,要加入的导向板必须已经存在于场景中。
  Remove(移除):先在列表中选中一个导向板,单击此按钮,则将其从列表中删除,但从该列表中移除的导向板只是不起作用了,但是它仍然存在于场景中。
  Test True If Particle选项组。选择粒子通过测试进入下一事件所必须满足的条件,默认为Collides(碰撞)。
  Speed(速度):决定粒子碰撞的速度和方向。从以下选项中选择一种,默认为Bounce(反弹)。
  Bounce(反弹):粒子碰撞后的速度和方向将由导向板决定。
  Continue(继续):粒子的速度和方向不受碰撞影响。
  Stop(停止):碰撞后,粒子速度设置为0。
  Random(随机):碰撞后,粒子以随机的方向从导向板反弹。
  Is Slow After Collision(s)(碰撞后速度慢):如果测试成功,在碰撞以后,粒子的速度会小于Speed Min(最小速度)的值。
  Speed Min(最小速度):粒子运动速度小于此值,则测试通过且进入下一事件。默认值为1.0。
  Is Fast After Collision(s)(碰撞后速度快):如果测试成功, 在碰撞以后,粒子的速度会大于Speed Max(最大速度)的值。
  Speed Max(最大速度):粒子运动速度大于此值,则测试通过且进入下一事件。默认值为1000.0。
  Collided Multiple Times(多次碰撞):一个粒子按指定的次数发生碰撞,则测试通过。粒子移至最后一次碰撞的位置,然后重定向进入下一个事件。
  # Times(次数):如果要通过测试,粒子必须发生碰撞的次数。
  Speed(速度):确定粒子按指定次数碰撞后的运动速度以及方向。
  Will Collide(即将碰撞):基于当前的方向和速度,系统以线性的方式推断粒子的运动,如果粒子在指定的时间间隔与导向板发生碰撞,则通过测试。粒子进入下一个事件,不改变速度和方向。
  # Frames(帧数):在系统寻找一个迫近的碰撞之前的帧数。
  Uniqueness(惟一)选项组
  Seed(数量):指定随机数值。
  New(速率):使用随机公式计算新种子。

 

3、Collision Spawn(碰撞产卵)。其命令面板如图1-4所示。

图1-4


  功用:存在的粒子与一个或多个导向板发生碰撞后产生新的粒子。可以为碰撞后的粒子及其后代指定不同的属性。

  Test True for选项组。此选项组中主要用来指定在满足测试条件后,哪些粒子会有资格重新定向到下一个事件当中。
  Parent Particles(父粒子):选中此项,符合条件时,父粒子具有重定向的资格。默认此项选中。
  Spawn Particles(卵粒子):选中此项,符合条件时,卵生的粒子具有重定向的资格。默认此项选中。
  Deflectors(导向板)选项组。主要是用来显示当前生效的导向板,可以添加或是删除导向板。
  List(列表):显示应用于操作器的导向板。如果将一个导向板从列表中删除,则其名称由“”(已删除)代替。
  Add(添加):单击此按钮,然后在场景中单击选择要添加入列表的导向板即可将导向板加入到列表当中。
  By List(按列表):单击此按钮,然后在选择导向板对话框中选择需要加入列表的导向板即可。
  Remove(移除):先在列表中选中一个导向板,再单击此按钮,则将其从列表中删除,但从该列表中移除的导向板只是不起作用了,它仍然存在于场景中。
  Spawn Rate And Amount(产卵率和产卵数)选项组。主要用来设置什么时间产生粒子以及与产生粒子数有前的其它的值。
  Spawn On First Collision(第一次碰撞时产卵):选中粒子只在与导向板第一次碰撞时产卵。
  Delete Parent(删除父粒子):选中此项,则每一个原始的粒子在产卵后就将其删除。
  Spawn On Each Collision(每次碰撞时产卵):在每一次碰撞时都会产卵,直至碰撞次数达到Until #(直到)参数所指定的值时。
  Until #(次数上限):产卵的父粒子最大碰撞的次数。默认为3。
  Spawnable(可产卵):设置当前事件中可产卵粒子的百分比。默认为100。
  Offspring #(后代):每一个父粒子在每一次产卵事件中新生的粒子数。默认值为1。
  Variation(变化量):允许Offspring #值产生随机变化的数值。默认为0。
  Sync By(同步):选择使Offspring #(后代)和Variation(变化量)产生动画的时间段。
  Absolute Time(绝对时间):所有设置了参数的帧都应用于动画。
  Particle Age(粒子年龄):所有相对应于每个粒子存在的帧都应用于动画。
  Event Duration(事件持续时间):所有从粒子进入事件时的帧都应用于动画 。
  Restart Particle Age(重设粒子年龄):选中此项,设置每一个由产卵新生的粒子的年龄为0。当不选该项时,每个卵生粒子的年龄继承其父粒子的年龄。
  Speed(速度)选项组。此选项组用于指定卵生粒子的行为和它们于父粒子的绝对或相对速度,同时还可以设置一定的随机变化。卵生粒子的方向一般都是与其父粒子相联系的,但是也可以设置分散度,使之最终散开。默认为继承。
  Parent(父对象):指定父对象的行为。此选项仅当不选中Delete Parent选项时可用。
  Bounce(反弹):碰撞后的速度和方向由导向板属性决定。
  Continue(继续):粒子的速度和方向不受碰撞影响。
  Offspring(后代):指定卵生粒子的行为。
  Bounce(反弹):碰撞后的速度和方向由导向板属性决定。
  Continue(继续):粒子的速度和方向不受碰撞影响。
  In Units(使用单位):指定卵生粒子每秒以系统单位运动的速度。默认值为100。当值为正时,与其父粒子的运动方向一致,为负则方向相反。
  Inherited(继承):指定每一个卵生粒子的运动速度为父粒子速度的百分比。默认为100,即与父粒子速度相同。当值为正时,与其父粒子的运动方向一致,为负则方向相反。
  Variation(变化量):卵生粒子运动速度的随机变化数。为得到卵生粒子实际的速度,系统会将变化量与一个在-1.0到1.0之间的随机数相乘,然后加上已经指定的或从父粒子继承的速度。比如,如果一个粒子的速度为100,变化量为20,则粒子速度的测试值应该是在80到120之间。
  Divergence(偏离):选中此项,使卵生粒子与父粒子散开。输入数值以确定偏离的程度。
  Size(尺寸)选项组。应用于每个卵生粒子的统一比例的量,以父粒子大小的百分比为单位。 默认设置为 100.0。
  Scale Factor(比例因子):设置每一个卵生粒子相对于其父粒子尺寸的百分比变化范围。
  Variation(变化量):使卵生粒子的大小产生可变的随机数。
  Uniqueness(惟一性)选项组
  New(新建):使用随机公式计算一个新的种子数。
  Seed(种子数):使用数值框让用户来指定一个随机种子数。

 

4、Find Target Test(发现目标测试)。其命令面板如图1-5所示。

图1-5


  功用:向粒子系统中增加Find Target Test时,一个球形Find Target 图标将会显示在场景的原点位置。可以使用该图标作目标,也可以使用一个或者多个Mesh对象作目标。默认情况下,Find Target向指定目标发送粒子。到达目标时,粒子可以合理地改变方向到其他事件。可以指定移向目标时粒子的速度和时间帧。

  Control By(控制类型):指定粒子自移向目标时的控制类型。
  Control By Speed(由速度控制):指定粒子在移向目标时的速度和加速度的值。
  Control By Time(由时间控制):指定粒子移向目标时基于时间的设置。
  No Control(无控制):选用该选项时,Find Target功能只是近似的测试。当粒子到达目标距离范围内时,粒子可以合理地改变方向到其他事件。
  Test True If Distance To(测试距离)选项组。该选项组的设置用来选择Find Target测试测量的距离并指定测量距离。
  Target Pivot(目标轴点):测量粒子和目标轴点之间的距离。
  Target Point(目标点):测量粒子和目标点之间的距离
  Is Less Than(少于):粒子离目标点或者轴点的距离小于指定距离时,测试为真并且可以合理地改变方向到其他事件。
  Control By Speed(由速度控制)选项组
  Use Cruise Speed(使用移动速度):选中时,直接控制粒子速度和速度变化。未选中时,使用Accel Limit数值自动计算粒子速度。默认为选中。
  Speed(速度):粒子每秒的速度。默认为300.0。
  Variation(变化):粒子速度随机变化的数量。默认为0。
  Accel Limit(加速限制):设置加速度限制。这个数值影响粒子的惯性和速度。默认为1000.0。
  Ease In %(减弱百分比):控制当粒子接近目标点时,粒子减速的比率。默认为0.0。
  Sync By(同步):选择使用动画Speed、Variation和Accel Limit的时间帧。
  Absolute Time(绝对时间):参数设置的任意帧在设置的实际帧被使用。
  Particle Age(粒子年龄):参数设置的任意帧在每个粒子的存活期的相应帧被使用。
  Event Duration(事件持续):参数设置的任意帧在每个粒子第一次进入事件开始时被使用。
  Control By Time(由时间控制)选项组。此选项组主要用来指定粒子到达目标所需要的时间。
  Timing(时间选择):指定软件应用指定计时的方式,通过时间和变化值进行定义。
  Absolute Time(绝对时间):时间指向系统的所有时间。每个粒子在Time指定的帧数到达目标。
  Particle Age(粒子年龄):时间是指粒子出生后流逝的时间。每个粒子在其年龄达到Time指定的帧数到达目标。
  Event Duration(事件期间):时间指向粒子进入当前时间后流逝的时间。每个粒子在当前事件中达到Time指定的帧数到达目标。
  Time(时间):粒子到达目标用的帧数。默认为60.0。
  Variation(变化):时间可以随机变化的帧数。默认为5。
  Subframe Sampling(子帧取样):选中时,以更高的子帧分辨率避免粒子膨胀。默认为选中。
  Use Docking Speed(使用停靠速度):指定粒子到达目标时的速度。默认为未选中。
  Speed(速度):粒子到达目标时的速度。默认为100.0。
  Variation(变化):实际速度数值随机变化的数量。默认为0.0。
  Target(目标)选项组。在默认的情况下,将使用自己的目标图标,也可以使用控件将其它场景对象指定为目标。
  Icon(图标):使用Find Target图标作目标。
  Mesh Objects(Mesh对象):使用一个或者多个Mesh对象作目标。
  list:显示用作目标的Mesh对象。
  Add(添加):向列表中添加目标Mesh对象。
  By List(由列表添加):单击此按钮,使用Select Target Objects(选择目标对象)对话框增加一个或者多个目标对象。
  Remove(删除):删除高亮显示的目标对象,此处删除的对象依然在场景中保留。
  Sync By(同步):使用Animated Shape或Follow Target Animation时,选择发送粒子到动画对象的的时间帧。
  Absolute Time(绝对时间):从目标导出的动画立即应用到粒子。
  Particle Age(粒子年龄):从目标导出的动画在每个粒子的存活期的相应帧被使用。
  Event Duration(事件期间):从目标导出的动画在每个粒子开始其第一次进入事件时被使用。
  Animated Shape(动画图形):选中该选项时,可以允许粒子通过缩放、变形或使用修改器设置了对象外形动画的对象的曲面作为目标。 这将花费大量的计算时间,因为目标在每个积分步长必须更新。
  Follow Target Animation(跟随目标动画):选中时,允许粒子跟随移动的对象。
  Point(点):指定粒子着陆的目标上的点。
  Random(随机):每个粒子将目标对象上的某个随机点作为目标。
  Closest Surface(最近曲面):每个粒子在目标对象上的最近的曲面上的点着陆。
  By Script Vector(脚本向量):每个粒子在Script Operator中的ParticleVector通道中指定数值的点着陆。注意: 使用By Script Vector到目标绝对位置例如节点位置时,确保将Target设置为Icon。
  Object(对象):当有多个mesh目标时,可以指定如何在这些目标中选择。只有将多个对象作为目标时才可用。
  Random(随机):主要用来为粒子随机选择一个目标对象。
  Closest Pivot(最近轴点):粒子在最靠近其轴点的目标对象着陆。
  Closest Surface(最近曲面):每个粒子选择曲面距离为粒子最近的对象作为目标。
  Least Deviation(最小偏离):为每个粒子选择沿着当前方向到达需要改变最小的对象作为目标。
  By Script Integer(脚本整数):粒子在Script Operator中指定索引的目标对象着陆。
  Lock On Target Object(锁定在目标对象):选中时,只在粒子进入事件时计算一次粒子的目标对象,其后,粒子锁定在目标对象上。未选中时,连续。
  Docking Direction(停靠方向)选项组
  Docking type(停靠类型):指定粒子靠近目标的方向。
  None Specified(无指定):没有约束。基于指定的参数和当前属性,粒子以最有效的路径靠近目标。
  Along Icon Arrow(沿着图标箭头):粒子最后的方向与Find Target图标箭头一致。
  Icon Spherical(图标球形):粒子最后的方向指向操作器图标中心。
  Icon Cylindrical(图标圆柱):粒子最后的方向以直线指向图标箭头,因此形成一个圆柱形的区域箭头类似圆柱体的主轴。
  Surface Normals(曲面法线):每个粒子从目标点与曲面垂直的方向到达目标对象。
  Distance(距离):粒子开始停靠行为时离开目标对象的距离。包括Docking方向和Docking速度。
  Icon Size(图标尺寸):设置Find Target图标的尺寸。使用图标作目标时影响粒子行为。
  Color Coordinated(颜色调整):选中时,Find Target图标使用包括测试的由局部Display Operator定义的事件的颜色,即使不选中Display Operator仍有效。未选中时,Find Target测试使用默认的在Customize User Interface→Colors→Particle FlowTest 中定义的Gizmos测试线框颜色。默认为选中。
  Uniqueness(惟一)选项组
  Seed(数量):指定随机数值。
  New(速率):使用随机化公式计算新种子。

5、Go To Rotation(转到旋转测试)。其命令面板如图1-6所示。

图1-6


  功用:可以在转动的粒子之间产生一个平滑的过渡,这样粒子就可以在一段指定的时间内逐渐旋转至一定的方位。一个常用的实例就是落叶,落叶在下落的同时不确定的旋转,但是落地时总是平躺而不是侧边着地。这个测试就是在旋转转变结束时,决定是否允许粒子进入下一事件。需要注意的是,旋转测试与Spin、 Shape Facing和Shape Mark Operators不兼容。在使用该测试的同时不要使用以上操作器。

  Test True When(测试真值的时间)选项组
  Transition Period Ends:选中此项,在指定的转变时间到达时粒子通过测试,并且可以进入下一事件;关闭时,粒子不能进入下一事件。
  Transition By(过渡方式)选项组。用于确定软件如何定时来应用转变。
  Absolute Time(绝对时间):是指系统全部的时间。每个粒子将在指定的时间内达到各自的目标方位。
  Particle Age(粒子年龄):是指粒子出生的时间。每个粒子在其年龄到达指定的时间时,才能够到达目标方位。
  Event Duration(事件期间):是指粒子进入当前事件的时间。每个粒子只有在进入当前事件达到指定的时间时,才能够到达目标方位。
  Duration(持续时间):粒子在达到目标方位时所需要的帧数。默认值为30。
  Variation(变化量):持续时间帧数的随机变化数。默认为0。
  Target Rotation(目标旋转)选项组。将方向操作器与转到旋转测试同时使用时,通过它的设置可以确定测试是一次性设置目标方向还是动态设置目标方向。默认值为恒定状态。
  Constant(恒定):利用方位类型操作器为粒子设置一个始终不变的方位。例如,在使用一个Rotation Operator(旋转操作器)来设置了一个方位矩阵后,旋转测试就只需要一个目标方位,然后始终将其作为目标。
  Changing(变化):利用方位类型操作器为粒子设置随时改变的方位。每一帧的旋转方向可能都是不同的,例如,在使用一个Rotation Operator(旋转操作器)来设置了Speed Space Follow(速度空间跟随)后,测试将随时改变旋转方向来与之保持一致。
   Target Rotation Spin(目标旋转自旋)选项组。此选项组用于定义每个粒子以一定角度转动至目标方位的速率。
  Match Initial Spin(匹配原始自旋):将过渡结束时的角速度设置为粒子进入事件时的状态一致。需要注意的是,因为计算时粒子在飘动,所以前后的转动轴可能仍然有所不同。
  Spin Rate(旋转速度):用来定义每个粒子的角速度。以角度/每秒的单位来计量。此选项在关闭Match Initial Spin(匹配原始旋转)时可用。如果要创建一个平滑转变至目标方向的转动,设置此选项值为0.0。
  Variation(变化量):用来定义粒子在到达目标方向时旋转速率的随机变化值,默认值为0,为了得到粒子下落时实际的角度,系统会将变化量与一个在-1.0到1.0之间的随机数相乘,然后加上已经指定的转动速度的值。比如,如果一个粒子的速度为6.0,变化量为1.0,那么粒子最终的角度速率值应该是在5°到7°每秒之间。
  Ease In %(缓入):为粒子的转动速度定义一个控制曲线度。默认值为0.0。当设置值为0.0时,此测试会用线性计算来确定最初到最终时刻之间的转动速度。当设置值为100时,最终的转动速度就会提前达到。为了平滑自然的转动至目标方位,一般设置Spin Rate和Variation都为0,Ease In为100。
  Transition End(过渡结束)选项组
  Stop Spinning(停止旋转):选中此项,在粒子转动达到指定的目标方位时,粒子中止转动。推荐选中此复选框,以避免在最后时转动速度会减慢。
  Uniqueness(惟一性)选项组
  New(新建):系统随机产生一个新的种子数。
  Seed(种子数):使用数值框让用户来指定一个随机的种子数。

 

6、Scale Test(缩放测试)。其命令在板如图1-7所示。

图1-7


  功用:用来控制粒子缩放,或者在缩放前后控制粒子尺寸和分支。该测试提供了不同的为测量比例和尺寸指定标准的轴选项。

  Type(类型):选择要测试的测量类型。可以测试实际缩放比例,或者缩放前后的尺寸。默认为比例。
  PreScale Size(缩放前尺寸):在缩放前测试尺寸大小。
  PostScale Size(缩放后尺寸):在缩放后测试尺寸大小。
  Scale(缩放):用来测试缩放的百分比。
  Axis(轴):选择要测量的轴。默认为Average(平均)。
  Average(平均):通过在三个轴向增加尺寸然后除以三获取平均测量。
  Minimum(最小):使用最小的尺寸。
  Median(中间):使用中间的尺寸。例如,如果X=5, Y=6, Z=12, 与Test Value比较的数值就是6。
  Maximum(最大):使用最大的尺寸。
  X/Y/Z:使用指定的尺寸。
  Test True if Particle Value(粒子数值测试):用于指定如果速度测试成功或者失败,指定测试是否传递粒子到下一个事件。默认为Is Greater Than Test Value(大于测试值)。
  Size(尺寸)选项组。当设置为缩放前大小或缩放后大小时,设置可用。
  Test Value(测试数值):指定的尺寸或者测试数值。默认为10.0
  Variation(变化):测试数值可以随机变化的量。默认为0.0。
  Scale(缩放)选项组。当类型设置为缩放时,这些设置可用。
  Test Value(测试数值):要测试的特定的缩放因子。默认为100%
  Variation(变化):缩放因子可以随机变化的数量。默认为0.0%.
  Test Value Offset Keying(测试数值偏移键)选项组
  Sync By(同步):选择在设置Test Value和 Variation的动画时要使用的时间帧。
  Absolute Time(绝对时间):为参数设置的任意帧在设置的实际帧被使用。
  Particle Age(粒子年龄):为参数设置的任意帧在每个粒子的存活期的相应帧被使用。
  Event Duration(事件持续):为参数设置的任意帧在每个粒子第一次进入事件开始时被使用。
  Uniqueness(惟一)选项组
  Seed(数量):指定随机数值。
  New(速率):使用随机化公式计算新种子。



  7、Script Test(脚本测试)。其命令面板如图1-8所示。

图1-8


  功用:通过使用MAXScript脚本来测试粒子状态。

  Edit Script(编辑脚本):单击此按钮,打开MAXScript脚本编辑器窗口。
  Uniqueness(惟一)选项组。提供脚本可以使用或者忽略的随机种子数。
  Seed(数量):指定随机数值。
  New(速率):使用随机化公式来计算新种子。



  8、Send Out Test(发送测试)。其命令面板如图1-9所示。

图1-9


  功用:发送测试只是将所有粒子发送到下一个事件,或相反地将所有粒子保留在当前事件之中。如果只是想无条件地将粒子发送到另一个事件,就可以使用此测试。

  Test True For(对…测试为真)选项组。用来设置本测试是将所有粒子发送到下一个事件还是将它们保留在当前事件。默认设置为所有的粒子。
  All Particles(所有粒子):选中时,所有粒子都将被发送到下一个事件。
  No Particles(无粒子):选中时,所有粒子都将被保留在当前事件。

 

9、Spawn Test(产卵测试)。其命令面板如图1-10所示。

图1-10


  功用:产卵(Spawn)会在现有的粒子基础上生成新的粒子,每个新生成的粒子都具有与其父粒子相同的位置和形状。分散后的粒子可以重新调整速度和分布方式。如果将分散测试线接到另一个事件,分散后的粒子会被发送到该事件,并可为新粒子设置不同的参数。分散测试实际上只将分散后的粒子发送到另一个事件(若已线接),而并不测试任何属性。所有粒子接到分散指令时都会立刻受其影响,因此,若要令粒子基于某个测试结果而分散,需要使用另一个指向包含分散的事件的测试。若此时还想将分散后的粒子发送到该事件以外的事件,或令粒子再次分散,有一个替代的方法就是使用Collision Spawn测试。

  Spawn Rate And Amount(产卵率和量)选项组 
  Once(一次):粒子只产卵一次,即对于每个现有粒子,都生成一个新粒子。默认为选中。
  Delete Parent(删除父粒子):选中此复选框时,将删除每个新生成粒子的父粒子。仅当选中Once时可用,默认为不选中。
  Per Second(每秒):用来指定每秒繁殖的粒子数。
  Rate(比率):设置每秒发生产卵的粒子数量,默认值为10,即使用30fps时每隔两帧生成一个新粒子。仅当选中Per Second时可用。
  By Travel Distance(按移动距离):粒子依据其移动距离每隔一定的间隔发生一次产卵。
  Step Size(步幅大小):指定生成新粒子的间隔(步幅),默认值为1。仅当选中By Travel Distance时可用。
  Spawnable %(可繁殖):设置当前事件中可分散的粒子占粒子总数的百分比。这个比值在粒子加入事件前就被确定,但可以对其设置动画。默认值为100。对于100以外的值,系统会使用随机选择,该百分比值将受到随机种子数的影响。例如对5个父粒子,Offspring #的值为1,Spawnable %的值为80,则可分散的粒子数将会是2到5中的任意一个数,平均值为4。
  Offspring #(后代):系统为每个父粒子生成的新粒子数量,默认值为1。
  Variation %(变化):Offspring #值随机变化的程度,默认值为0。为获得每个粒子的实际测试值,系统将Variation %值乘以一个-1到1之间的随机数,并将其结果作为Offspring #的值。例如,Offspring #的值为20,Variation的值为10,则每个粒子的后代的实际数量将在18到22之间。
  Restart Particle Age(重置粒子周期):选中时,将分散生成的每个新粒子的周期都设置为0。未选中时,新粒子将继承其父粒子的生命周期设置。默认为选中。
  Speed(速度)选项组。主要用来指定繁殖粒子的绝对速度或相对于父粒子的速度,随机变化可选。
  In Units(使用系统单位):勾选此项后,用系统单位为分散后的粒子指定速度,默认值为100。正值表示新粒子继承了父粒子的运动方向,负值则相反。
  Inherited %(继承):勾选此项后,指定分散后粒子速度与父粒子速度的百分比值,默认值为100。正值表示新粒子继承了父粒子的运动方向,负值则相反。这是默认的选项。
  Variation %(变化):设置新粒子速度随机变化的幅度,默认值为0。
  Divergence(偏离):设置分散后粒子的运动方向较父粒子的偏离角度,取值范围为0°到180°,默认值为0。
  Size(尺寸)选项组
  Scale Factor %(缩放):设置每个由分散生成的粒子相对其父粒子缩放的比例,默认值为100。
  Variation %(变化):设置分散生成的粒子缩放时随机变化的幅度,默认值为0。
  Uniqueness(惟一)选项组
  Seed(数量):指定随机数值。
  New(速率):使用随机化公式来计算新种子

 

10、Speed Test(速度测试)。其命令面板如图1-11所示。

图1-11


  功用:速度测试提供了一系列变量,用来检测粒子系统中粒子的速度、加/减速、循环运动率以及相应的分支。

  Velocity Magnitude(速度大小):测试粒子的速度而不考虑其运动方向,使用系统单位。这是默认的测量方式。
  Velocity X/Y/Z:测试粒子沿指定的坐标轴的速度,使用世界坐标系和系统单位。
  Acceleration Magnitude(加速度大小):测试粒子加速度的大小而不考虑其方向,使用系统单位。
  Acceleration X/Y/Z:测试粒子沿指定的坐标轴的加速度,使用世界坐标系和系统单位。
  Steering Rate:测试粒子每秒做圆周运动的度数,而不考虑其旋转和转弯。例如,一个做抛物线运动的粒子,其运动由线性和圆周两种成分构成,当它位于抛物线顶端时,圆周运动的成分所占比例最大。若粒子在1秒内运动了一周,则此值为360;若在1秒内运动了半周,则此值为180。可以通过将Speed By Icon 操作器图标连接到圆周状路径来测试这个值。
  True When Accelerates(加速时为真):当粒子速度增大时,返回一个真值。
  True When Decelerates(减速时为真):当粒子速度减小时,返回一个真值。
  Test True If Particle Value(若粒子的值…则测试为真)选项组。设置速度测试成功或失败时是否向下一个事件发送粒子。依据在测量方式下拉列表框中选择的不同测量方式,当选中第一项Is Less Than Test Value(小于测试值)时,若测量结果小于下方设置的Test Value(测试值),粒子将会被发送到下一个事件;当选中第二项Is Greater Than Test Value(大于测试值)时,若测量结果大于下方设置的Test Value(测试值),粒子才会被发送到下一个事件。默认选择第二项。
  Test Value(测试值):设置测试的预设值,其单位依据上方的测量方式而不同。默认值为300。
  Variation(变化):设置测试值随机变化的幅度。默认值为0。



  11、Split Amount(分割量测试)。其命令面板如图1-12所示。

图1-12


  功用:分割数量测试主要用于指定一定数量的粒子,允许其能够进入下一事件。而保持其他的粒子在当前事件中,可以指定分离粒子的数目、百分比或指定固定位置的粒子。

  Test True For 选项组。用于选择用何种方式分割粒子。
  Fraction Of Particles(部分粒子):以百分比数量来分割粒子。如果分割比率大于0.0,任何粒子都将以随机因数分割。可以通过惟一性选项组中的粒子数来改变。
  Ratio(比率):指定分割粒子的百分比。默认为50。
  Every Nth Particle(每N个):将按照一定规则取样的粒子分割。
  N:指定每隔几个粒子分割出一个粒子。默认值为3。
  First N Particles(最初的N个粒子):分割所指定的最初的N个粒子,进入下一事件。其他的粒子保持在原有事件中。
  Particles After N First(第N个之后的粒子):将从第N个开始的粒子分割,之前的N个粒子保持在原有事件中。
  N:在选择First N Particles(最初的N个粒子)选项时,用于指定分割出来的前N个粒子数;在选择Particles After N First(第N个之后的粒子)选项时,用于指定前N个状态不变的粒子数,从第N个之后的粒子分割出来进入下一事件。

  Per Emission Source(每个喷射源):选中此项时,对于每一个喷射源,系统都会将N数值框中的参数分别应用到First N Particles和Particles After N First选项中。使用此项时,当有多个粒子流源时,都会将其汇聚在一个分割数量测试中。
  Uniqueness(惟一性)选项组
  New(新建):系统随机产生一个新的种子数。
  Seed(种子数):使用数值框让用户来指定随机的一个种子数。

 

12、Split Selected(分割选择)。其命令面板如图1-13所示。

图1-13


  功用:分割选择测试从当前所选择粒子的状态分离粒子。这个测试只适用于在粒子子对象层次中所选中的粒子。如果要在指定的帧对一个事件应用所有的粒子,可进入帧编辑,事件子对象层次,使该事件呈高亮显示;然后进入粒子子对象层次,在选择卷展栏中,单击Get From Event Level(从事件层获取)。

  Test True If Particle(测试真值的条件是粒子)选项组

  Is Selected(选中的):所有选中的粒子都符合重定向进入下一个事件的条件。
  Is Not Selected(未选中的): 所有未选中的粒子都符合重定向进入下一个事件的条件。



  13、Split Source(分割流源)。其命令面板如图1-14所示。

图1-14


  功用:分割流源测试可以根据粒子的来源分割粒子流。可以指定粒子是否适合进入下一事件。

  Test True If Particle(测试真值的条件是粒子)选项组

  Is From Selected Source(来自选择的粒子源):所有在Selected Emission Sources(选择的喷射源)列表中高亮显示的粒子都符合进入下一事件的条件。
  Is Not From Sel. Source(不是来自选择的粒子源):所有未在Selected Emission Sources(选择的喷射源)列表中高亮显示的粒子都符合进入下一事件的条件。
  Selected Emission Sources(选择的发射源):列出系统中所有的的发射源。高亮显示的流源被认为是用于测试的。

  27、本节小结:本节我们主要学习了Test(测试)的操作使用及命令详解,下一节我们将开始实例的学习,请大家继续关注~~