下列所有选项(除一个选项之外)都显示一个菜单,通过该菜单可以选择自定义或静态属性作为输入。使用表达式设置要用作选项输入的自定义属性的值,这是最常见的情况。选项本身不是属性。
并非菜单中的所有静态属性都有适用的应用。例如,使用 worldVelocity 作为对象的“旋转”(Rotation)的输入可能没有有用的效果。每个输入属性的有效性取决于上下文。
除了下列选项中的前三个外,可以使用每粒子属性值设置这些输入属性。因此,可以为每个粒子设置不同的值。
常规控制属性(General Control Attributes)
为动力学(Is Dynamic)
值为 true 会为对象打开动力学功能。值为 False 会为对象关闭动力学功能。
动力学权重(Dynamics Weight)
值为 0 将使连接至粒子对象的场、碰撞、弹簧和目标没有效果。值为 1 将提供全效。输入小于 1 的值将设定比例效果。例如,值 0.6 可以将效果按比例缩至完全强度的 60%。
表达式不受“动力学权重”(Dynamics Weight)的影响。
保持(Conserve)
“保持”值控制粒子对象的速率在帧与帧之间的保持程度。特别的是,“保持”(Conserve)值可以在开始执行每帧时按比例缩放粒子的速度属性。按比例调整速度后,Maya 将任何适用的动力学应用于粒子,以在帧的末尾创建最终位置。
“保持”(Conserve)值不影响由关键帧创建的运动。关键帧只影响粒子对象的世界速度,而不是其局部速度属性。
如果“保持”(Conserve)设定为 0,将不保留任何速度属性值。速度将在每帧开始之前重置为 0。每帧结束处的速度是在该帧进行期间应用动力学的完全结果。
如果将“保持”(Conserve)值设定为 1,整个速度属性值将保留下来。这是真实世界的物理反应。
如果将“保持”(Conserve)设定为介于 0 和 1 之间的值,将保留一定百分比的速度属性值。例如,如果将“保持”(Conserve)设定为 0.75,Maya 会首先将每个帧的速度属性降低 25%,然后再计算任何动力学或表达式对对象的效果。
例如,假定您创建了一个以 9.8 单位/秒的重力加速度下落的粒子。以下表格比较了在执行若干帧之后,“保持”(Conserve)值 1(默认)、0.5 和 0 对速度属性的影响程度。
帧 速度(“保持”值 = 1) 速度(“保持”值 = 0.5) 速度(“保持”值 = 0)
|
“保持”(Conserve)设定为 1 时,每帧的速度都会以精确的重力加速度增加。
“保持”(Conserve)设定为 0 时,速度将保持恒定值 - 粒子不会加速。在每帧的开始,速度重置为 0。重力字段的加速度随即会添加到速度 0,从而导致每帧结束处使用相同数字 << 0,-0.41,0> >。
“保持”(Conserve)设定为 0.5 时,每帧的速度会以非常慢于重力的速率增加。在每帧的开始,速度会缩至前一帧结束时的速度值的 50%。随后会将重力加速度与该缩小后的值相加,以创建用在帧末尾的缓慢增加的速度。
世界中的力(Forces In World)
如果希望字段影响其局部空间的粒子对象,请选择该粒子,显示“属性编辑器”(Attribute Editor),然后禁用“世界中的力”(Forces In World)。
请注意,除非旋转粒子对象,否则该对象的局部轴的方向与世界空间轴的方向一致。
提示
如果您尚未为粒子对象的变换属性设定关键帧、创建父属性或对属性进行控制,可以禁用“世界中的力”(Forces In World),以加快对象的动力学计算。当“世界中的力”(Forces In World)启用时,Maya 会进行额外计算,将世界空间转化为局部空间坐标。
请参见在对象的局部空间应用力。
缓存数据(Cache Data)
或者,可以通过关闭“缓存数据”(Cache Data)属性来在“属性编辑器”(Attribute Editor)中打开或关闭内存缓存。该属性在“属性编辑器”(Attribute Editor)中的位置取决于对象的类型。如果为刚体打开缓存,Maya 也会为该刚体的解算器中的所有刚体打开缓存。
如果在内存中为发射粒子缓存数据,并稍后更改发射器或发射粒子的速率或其他属性,必须禁用缓存才能看到属性更改的效果。
计数(Count)
包含对象中的总粒子数。这是一个只读属性。
事件总数(Total Event Count)
包含该对象已发生的总碰撞数。将对所有碰撞进行计数,而不管是否实际执行了任何碰撞事件。换句话说,totalEventCount 是每粒子“事件”属性的总和。
发射属性(Emission Attributes)
最大计数(Max Count)
包含此形状允许的最大粒子计数。如果某些粒子消亡,将再次接受新的粒子,数量多至最大计数。
细节级别(Level Of Detail)
此属性目前仅用于衡量要用于快速运动测试的发射量(不必更改发射器的值)。此属性仅影响已发射的粒子。
继承因子(Inherit Factor)
包含发射到此对象中的粒子所继承的发射器速度分数。
世界中的发射(Emission In World)
此布尔属性指示粒子对象假定通过发射创建的粒子位于世界空间中,并且在将这些粒子添加到粒子阵列之前,必须将它们变换为对象空间。这将使粒子在某些无身份标识的层次中进行响应时,如同与发射器处在同一空间一般。
离开发射体积时消亡(Die on Emission Volume Exit)
当该布尔属性设定为 True 时,如果发射的粒子来自某个体积,则它们将在离开该体积时消亡。默认情况下,该属性设置为 false。
寿命属性(Lifespan Attributes)
寿命属性提供了多种方法来指定如何确定粒子寿命。
寿命模式(Lifespan Mode)
从以下选项中选择:
永生(Live forever)
除非因碰撞事件或离开发射体积而消失,否则所有粒子将永生。
恒定(Constant)
此设置使用户可以为粒子输入一个恒定寿命。粒子将在指定时间消亡。
随机范围(Random range)
必须设定此属性才能启用“寿命随机”(Lifespan Random)(参见下文)。
仅寿命 PP (lifespanPP only)
只要选择“仅寿命 PP”(lifespanPP only)作为寿命模式,Maya 3.0 以前引用寿命 PP 的表达式即可正常工作。
寿命(Lifespan)
当“寿命模式”(Lifespan Mode)设定为“恒定”(Constant)或“随机范围”(Random Range)时,使用此选项可指定粒子的寿命值。
寿命随机(Lifespan Random)
此属性仅在“寿命模式”(lifespanMode)设定为“随机范围”(Random Range)时使用。
该属性标识了每个粒子的寿命的随机变化范围。如果设定为非零值,每个粒子的寿命将在加上或减去“寿命随机值/2”的范围内随机变化,以“寿命”属性为平均值(平均寿命)。例如,当寿命值为 5,寿命随机值为 2 时,寿命值将在 4 到 6 之间变化。
在“恒定”(Constant)或“随机范围模式”(Random Range Mode)下,“最终寿命 PP”(finalLifespanPP)属性中存储着从“寿命”(lifespan)和“寿命随机”(lifespanRandom)生成的值。
注意
更改“寿命”(lifespan)和“寿命随机”(lifespanRandom)的值将仅影响新粒子,而不会影响已有粒子。例如,如果将直至帧 50 的寿命值设定为 2,将帧 50 之后的寿命值设定为 5,则在帧 1 至帧 50 之间生成的粒子的“最终寿命 PP”(finalLifespanPP)值将为 2,帧 50 之后生成的粒子的“最终寿命 PP”(finalLifespanPP)值将为 5。帧 50 之前生成的粒子的“最终寿命 PP”(finalLifespanPP)值不会改变。
常规种子(General Seed)
该属性表示用于生成随机数的种子。它独立于所有其他随机数流。
时间属性(Time Attributes)
开始帧(Start Frame)
该属性表示将在其后解析动力学的帧。在 startFrame 之前将不会为该对象播放任何动力学。
当前时间(Current Time)
该属性表示时间轴中的当前时间。
碰撞属性(Collision Attributes)
跟踪深度(Trace Depth)
该属性表示在每个粒子的帧中检测到的连续碰撞最大数。当然,粒子的碰撞次数可能更少。
碰撞对象(Collision Object)
粒子与其发生碰撞的对象,在设置碰撞时确定。
弹性(Resilience)、摩擦力(Friction)
请参见粒子 > 使碰撞(Particles > Make Collide)。
偏移(Offset)
用于在当前粒子与在“碰撞对象”(Collision Object)字段中指定的曲面发生碰撞时,使当前粒子的位置发生偏移。“偏移”(Offset)还可以防止当前粒子穿透指定碰撞对象的表面。例如,使用“偏移”(Offset),可以控制在单次 Take 中从粒子碰撞的宏级别快照进入微级别快照时粒子碰撞偏移的大小。默认情况下“偏移”(Offset)为 0.01。请参见“节点”(Node)和“属性参考”(Attributes Reference)中的particle。
该属性仅在当前粒子具有碰撞对象时可用。
UV 集(UV set)
(仅在多个“UV 集”(UV sets)可用时才可用。)
使用该下拉列表可指定哪个“UV 集”(UV set)用于根据粒子的碰撞 U/V 属性值计算目标点位置。默认情况下,使用碰撞对象的当前“UV 集”(UV set)。该设置保持不变。
在锁定将使用的“UV 集”(UV set)时,可以利用明确指定哪个“UV 集”(UV set)用于碰撞 U/V 值这一功能很有用。当纹理美工人员处理某个对象并引入多个“UV 集”(UV set)时,他们将经常在这些集之间来回切换,并将该对象的当前“UV 集”(UV set)属性设置为不同的值。
柔体属性(Soft Body Attributes)
有关详细信息,请参见柔体。
输入地理空间(Input Geo Space)
该属性用于选择 Maya 使用哪个坐标空间来定位输入几何体向粒子形状提供的点数据。原始几何体是将转换为柔体的几何体。输入几何体是指 Maya 中创建原始几何体的节点。NURBS 球体的一个输入几何体示例“生成球体”(Make Sphere)是节点:
几何体局部(Geometry Local)
从输入几何体的局部空间提供点定位数据。不将任何世界空间变换应用到这些位置。
世界(World)
从输入几何体的世界空间提供点定位数据。将世界空间变换应用到这些位置。
粒子局部(Particle Local)
从粒子对象的局部空间提供点定位数据。几何体中的点定位数据按如上所示变换为世界空间位置,然后使用粒子对象的反向世界空间变换,变换为粒子对象的局部空间位置。这会将点置于与粒子对象的位置属性相同的空间中。
目标地理空间(Target Geo Space)
该属性用于选择 Maya 使用哪个坐标空间来定位粒子形状向目标几何体提供的点数据。
几何体局部(Geometry Local)
从粒子对象的位置属性获取位置并将其变换为目标几何体的局部空间位置。它使用粒子对象的世界空间变换和目标几何体的反向世界空间变换,然后将其设置到目标几何体中。无论在场景中的哪个位置变换粒子对象或目标几何体,目标几何体中的点都将与这些粒子具有相同的世界空间位置。
世界(World)
从粒子对象的位置属性获取位置并将其变换为世界空间位置。它使用粒子对象的反向世界空间变换,然后将其设置到目标几何体中。
粒子局部(Particle Local)
直接在目标几何体中设置位置属性值,而不在任何坐标空间中变换它们。
强制历史计数(Enforce Count From History)
如果启用该属性并以改变 CV、顶点或晶格点数的方式更改原始几何体的构建历史,则 Maya 会更新柔体的相应粒子数。
例如,如果将跨度或截面添加到 NURBS 曲面柔体,则 Maya 会将 CV 添加到曲面,并将相应的粒子添加到柔体。更新粒子可确保根据添加或移除的新点正确变形柔体。
在某些情况下,您会不希望进行该更新。例如,如果将某个柔体的粒子添加到发射器,则可以将该柔体发射到视图中。
目标权重和对象(Goal Weights and Objects)
目标平滑度(Goal Smoothness)
该值用于控制权重从 0.0 更改为 1.0 时目标力变化的“平滑度”。这完全是审美效果,没有任何科学基础。数值越大,变化就越平滑。
目标权重(Goal weight)
该字段显示对象的名称。使用该字段旁边的滑块可设置对象的目标权重。
如果更改任何每粒子设置,该目标权重将不再适用。
目标活动(Goal Active)
使目标处于活动状态。首先必须创建一个目标对象(粒子 > 目标(Particles > Goal))以查看该属性和其余目标权重属性。
在将粒子系统吸引到目标对象时,将使用有关将每个粒子吸引到的每个目标对象上特定点的数据填充这些属性。您可以在“组件编辑器”(Component Editor)的“粒子”(Particles)选项卡中查看该信息。
对于该区域中的其余属性,请单击“创建”(Create)按钮创建它们。该按钮将变为“删除”(Delete)。然后,单击“删除”(Delete)进行删除。
每粒子目标权重(PPartical Goal Weights)
为第 N 个目标对象提供每粒子目标权重。目标对象根据其在粒子系统的稀疏 goalGeometry 阵列中的索引进行编号。这样可确保在向粒子系统中添加目标对象以及从中移除目标对象时,保留每粒子目标权重。
如果未找到特定目标对象的每粒子目标权重,则会将该对象的标准目标权重值(由粒子“属性编辑器”(Attribute Editor)中该对象名称旁边的滑块指定)应用于所有粒子。动态生成的 goalPP 属性随后充当作用于每个粒子上的所有目标力总和的加权因子。
目标点位置(Goal Point Positions)
将每个粒子吸引到的第 N 个目标对象上点的世界空间坐标。
目标点法线(Goal Point Normals)
将每个粒子吸引到的第 N 个目标对象上点的世界空间法线。
目标点切线 U (Goal Point TangentUs)、目标点切线 V (Goal Point TangentVs)
将每个粒子吸引到的第 N 个目标对象上点的 U 和 V 向切线。切线方向对应于目标点的 U 和 V 纹理坐标的最大增加方向。
实例化器(几何体替换) (Instancer (Geometry Replacement))
实例化器节点(Instancer Nodes)
选择哪个实例化器用于实例化的对象。仅在属性编辑器中可用。
允许所有数据类型(Allow All Data Types)
启用时,会扩展可以选择作为下列页面中的选项输入的属性列表。展开的列表包含与选项具有不同数据类型的属性。
如果输入属性的数据类型不同于接收选项,Maya 会将该数据类型转换为接收选项的数据类型。(有关数据类型的详细信息,请参见“表达式”。)例如,如果选择一个整数属性作为向量数组选项的输入,Maya 会在每个数组元素的三个向量分量的每一个中使用整数值。
在禁用“允许所有数据类型”(Allow All Data Types)时,只会将与接收选项具有相同数据类型的属性作为可能的选项包括在列表中。
要实例化的粒子对象(Particle Object To Instance)
要将几何体应用到的粒子对象。该选项仅在“粒子实例化器选项”(Particle Instancer Options)窗口中可用。
常规选项(General Options)
位置(Position)
实例化对象的位置。默认设置为“worldPosition”。Maya 在实例化器节点的局部空间而不是在世界空间中解释选定属性的值。因此,如果移动实例化器节点,也会移动这些实例。
如果您是 API 开发人员,请注意,可以编写 API 以将点数据发送到实例化器。
比例(Scale)
实例化对象的比例。默认设置为“无”(None),使用值 1, 1, 1。
斜切(Shear)
实例化对象的斜切。默认值设置为“无”(None),使用值 0, 0, 0。
可见性(Visibility)
设置是打开还是关闭每个实例化对象的显示。默认设置为“无”(None),会打开所有粒子的实例的显示。
ObjectIndex
如果将“实例化器”(Instancer)的“循环”(Cycle)选项设置为“无”(None),则此选项会设置为每个粒子实例化“实例化对象”(Instanced Objects)列表中的哪个对象。如果将“循环”(Cycle)设置为“序列”(Sequence),则将忽略“ObjectIndex”。
使用该选项的常用方法有多种。在每种情况下,选择一个自定义属性作为“ObjectIndex”的输入,然后编写表达式来控制该属性。
一种方法是使用创建表达式来将每个粒子的不同值指定给自定义属性。每个值在“实例化对象”(Instanced Objects)列表中选择一个不同的对象。值 0 在列表中选择第一个对象,值 1 选择第二个,值 2 选择第三个,依此类推。
另一种表达式编写方法是从“实例化对象”(Instanced Objects)列表指定特定数字,或使用随机数函数(如 rand())从列表中为每个粒子指定一个不同的随机对象。
您也可以使用创建表达式和运行时表达式通过特殊对象序列(例如,2-4-6-8)来递增自定义属性。
默认设置为“无”(None),会将值设置为 0,即列表中的第一个对象。
旋转选项(Rotation Options)
旋转类型(Rotation Type)
对于实例化对象,可以选择以下三种方法之一来设置其方向:“旋转”(Rotation)、“AimDirection”和“AimPosition”。虽然通常您会对所有实例化对象选择同一种方法,但可以通过使用每粒子表达式设置“RotationType”属性来为每个对象选择不同的方法。
若要设置“RotationType”属性,请对“旋转”(Rotation)使用值 0,对“AimDirection”使用值 1,或对“AimPosition”使用值 2。
如果不提供数字,Maya 会使用“旋转”(Rotation)、“AimDirection”和“AimPosition”选项中选定了属性输入的那一个。例如,如果为“AimPosition”选择属性输入,Maya 会使用“AimPosition”作为默认值。
如果为“旋转”类型中的两个或三个选择属性输入,Maya 会使用该列表中的第一个:“旋转”(Rotation)、“AimDirection”和“AimPosition”。例如,如果选择“目标位置”(Aim Position)和“目标方向”(Aim Direction)的输入,Maya 会使用“目标方向”(Aim Direction)。如果选择“旋转”(Rotation)、“目标位置”(Aim Position)和“目标方向”(Aim Direction)的输入,Maya 会使用“旋转”(Rotation)。
如果未选择“旋转”(Rotation)、“目标位置”(Aim Position)和“目标方向”(Aim Direction)的任何属性输入,Maya 会使用“旋转”。
旋转(Rotation)
设置实例化对象相对于其初始方向的方向。
对于 nParticle,可以通过选择“rotationPP”作为“旋转”(Rotation)选项来基于每粒子旋转实例化几何体。“rotationPP”属性是在启用“计算旋转”(Compute Rotation)属性时在 nParticleShape 节点上创建的。请参见旋转。
有关基于每粒子旋转实例化几何体的详细信息,请参见旋转实例化几何体。有关其他旋转类型的详细信息,请参见旋转类型、旋转单位和旋转顺序。
目标方向(Aim Direction)
通过指定每个实例化对象点沿其相对于其局部原点的原始位置的方向来设置实例化对象的方向。默认设置为“无”(None),使用值 1, 0, 0。请参见 RotationType。
请注意,可以通过选择速度来使对象点朝向粒子移动的方向。有关详细信息,请参见对准实例化几何体。
目标位置(Aim Position)
通过指定每个实例化对象点相对于其局部原点的原始位置的位置来设置实例化对象的方向。默认设置为“无”(None),使用值 0, 0, 0。有关重要详细信息,请参见 RotationType。
目标轴(Aim Axis)
指定直接指向“目标方向”(Aim Direction)或“目标位置”(Aim Position)的对象轴。
“目标轴”(Aim Axis)是向量属性,仅适用于“目标方向”(Aim Direction)和“目标位置”(Aim Position)旋转类型。默认设置为“无”(None),使用值 1, 0, 0。
目标上方向轴(Aim Up Axis)
指定相对于“目标轴”(Aim Axis)在“目标方向”(Aim Direction)或“目标位置”(Aim Position)指向方式指向上方(尽可能向上)的对象轴。
在此上下文中,“上方向”是世界上方向轴点的方向(请参见“目标世界上方向”(Aim World Up))。“目标上方向轴”(Aim Up Axis)是向量属性,仅适用于“目标方向”(Aim Direction)和“目标位置”(Aim Position)旋转类型。默认设置为“无”(None),使用值 0, 1, 0。
例如,假设“目标位置”(Aim Position)设置为工作区的原点,世界空间 Y 轴(0,1,0)是“目标世界上方向”(Aim World Up)值。实例化对象的 X 轴 (1, 0, 0) 是“目标轴”(Aim Axis)值,该对象的 Y 轴(0,1,0)是“目标上方向轴”(Aim Up Axis)值。当实例化对象在工作区中从左到右移动时,该对象具有以下方向:
无论该对象在工作区中移动到哪里,该对象的 X 轴都直接指向原点。该对象在必要时绕其 X 轴滚转,以使其 Y 轴目标尽可能向上。上方向由“目标世界上方向”(Aim World Up)设置,在此情况下设置为世界的 Y 轴。
AimWorldUp
在世界坐标系中设置指示由“目标上方向轴”(Aim Up Axis)所用的向上方向的轴。“目标世界上方向”(Aim World Up)是向量属性,仅适用于“目标方向”(Aim Direction)和“目标位置”(Aim Position)旋转类型。默认设置为“无”(None),使用值 0, 1, 0。该属性不会受到“世界坐标系”(World Coordinate System)的“上方向轴”(Up Axis)设置的影响,此设置位于窗口 > 设置/首选项 > 首选项(Window > Settings/Preferences > Preferences)窗口中的“设置”(Settings)部分。
循环选项(Cycle Options)
循环开始对象(Cycle Start Object)
如果将实例化器的“循