将几何体实例化为粒子

 
 
 

使用 Maya 粒子实例化可以在场景中对许多相同的对象设置动画。例如,可以使用粒子实例化快速创建一群飞行的虫子并为其设置动画,在该场景中只有虫子的放置和方向会有所不同。可以为单个虫子设置动画,然后创建虫子的几何体实例,这些实例会随已设置动画的粒子的位置和方向移动。还可以使用实例化几何体的 nParticle 每粒子属性(如每粒子旋转),以便每个对象能够单独旋转。

注意

以下部分也适用于实例化具有 nParticle 的几何体。

几何体实例不是一个对象的重复项,而是对原始对象的引用(并非文件引用)。对原始对象所做的任何更改也会应用到实例化对象。通过对用于控制各实例化对象的每粒子属性设置动画,可控制这些对象的运动。例如,可以使用 nParticle 旋转每粒子属性来创建随机移动对象的逼真行为,例如爆炸效果中飞溅的碎片。

称为源几何体的实例化几何体对象可以是:

可以使用对象层次而非各个对象作为源几何体。不要实例化灯光;它们对渲染没有任何影响。

创建已设置动画的实例

可以将单个对象或一系列对象实例化为一个粒子形状。

在创建实例之前,应创建源几何体并对其应用着色组。可以在实例化之前或之后对源几何体和粒子设置动画,并将源几何体放置在工作区中的任意位置。也可以按照以下过程所述将其隐藏起来。无法基于每粒子控制实例化几何体的颜色。

将单个对象实例化为粒子

  1. 选择源几何体。
  2. 按 Shift 键并选择粒子形状。
  3. 选择粒子 > 实例化器(替换)(Particles > Instancer (Replacement))
  4. 若要隐藏源几何体,请选择几何体并选择“显示 > 隐藏 > 隐藏当前选择”(Display > Hide > Hide Selection)

将一系列对象实例化为粒子

  1. 选择源几何体。
  2. 选择粒子 > 实例化器(替换)(Particles > Instancer (Replacement)) >

    此时将显示“粒子实例化器选项”(Particle Instancer Options)窗口。选定的源几何体已列在“实例化对象”(Instanced Objects)列表中。

  3. 要以不同粒子实例化不同对象,请将所有这些对象包括在该列表中。

    要实例化一系列对象,请按照要在序列中显示的顺序列出这些对象。

    使用“上移”(Move Up)“下移”(Move Down)按钮可以更改对象的顺序。如果要将选定对象添加到该列表中,请使用“添加当前选择”(Add Selection)。使用“移除项目”(Remove Items)可以从列表中移除对象。

    例如,假设创建四只具有不同摆动位置的鸟:

    • birdWingsHigh 表明翅膀高于鸟的头部。
    • birdWingsMid 表明翅膀位于中间位置。
    • birdWingsLow 表明翅膀低于鸟的身体。
    • birdWingsMidCopy 是 birdWingsMid 的副本。该对象是必需的,这样翅膀才能够在从低到高和从高到低的位置来回循环摆动。

    对于“实例化对象”(Instanced Objects)列表中的对象,正确的排列顺序为:

    0:birdWingsHigh 1:birdWingsMid 2:birdWingsLow 3:birdWingsMidCopy

    对象左侧的数字指示序列的位置。0 表示序列中的第一个对象。

  4. “粒子实例化器选项”(Particle Instancer Options)窗口中的“要实例化的粒子对象”(Particle Object To Instance)菜单中,选择实例将跟随的已设置动画的粒子对象。

    请注意,可以将发射的粒子用作已设置动画的粒子。粒子发射时,实例化几何体将随粒子一同显示。

  5. 粒子 > 实例化器(替换)(Particles > Instancer (Replacement))中所述设定选项,然后单击“创建”(Create)

    Maya 将创建实例化器节点,用于控制实例化对象。在该节点中,可以更改在“粒子实例化器选项”(Particle Instancer Options)窗口中所做的属性设置。

  6. 若要隐藏源几何体,请选择几何体并选择“显示 > 隐藏 > 隐藏当前选择”(Display > Hide > Hide Selection)

    还可以选择隐藏要实例化的粒子对象。此时实例化器会显示粒子。但是,请注意,如果将对动画进行软件渲染,无需隐藏粒子。粒子不会在经过软件渲染的图像中显示。

    提示

    如果要移动源对象的旋转轴点,请选择对象并在“命令行”(Command Line)中输入 createInstancerPivot。此后,当在源几何体中操纵旋转轴时,实例化几何体也会旋转相同的角度。Maya 会重定向之前应用到源对象的平移、旋转、缩放和斜切属性的任何动画。

旋转实例化几何体

如果要实例化包含 nParticle 的几何体,可以使用“rotationPP”基于每粒子来旋转实例化几何体。当“计算旋转”(Calculate Rotations)处于启用状态时,在 nParticleShape 节点上会自动创建旋转每粒子属性。请参见手册的“nDynamics”部分中的旋转

旋转实例化几何体

  1. 在 nParticleShape 节点的“属性编辑器”(Attribute Editor)中,转到“旋转”(Rotation)区域并启用“计算旋转”(Compute Rotations)

    此时,在 nParticleShape 节点上会创建“RotationPP”

  2. 创建已设置动画的实例中所述实例化单个对象或一系列对象。
  3. “粒子实例化器选项”(Particle Instancer Options)窗口或 nParticle“属性编辑器”(Attribute Editor)中,设定下列内容:
    • 启用“允许所有数据类型”(Allow all data types)

      这样,就可以使用标量属性(如“radiusPP”)来设定向量属性(如“比例(Scale)”)。

    • “旋转选项”(Rotation Options)区域中,从“旋转”(Rotation)列表选择“rotationPP”
    • “常规选项”(General Options)区域中,从“比例”(Scale)列表选择“radiusPP”

      选择该选项可以确保能够适当地将实例化几何体调整为 nParticle“半径”(Radius)。请参见半径

对准实例化几何体

下列常规步骤是对准实例化几何体的一种方式。

对准实例化几何体

  1. 确定几何体的方向,以便向前指向 X 轴,向上指向 Y 轴。
  2. 对几何体进行分组并实例化该组。
  3. AimDirectionAimPosition 选项设定为实例化对象要对准的方向。

    例如,将“目标方向”(Aim Direction)设定为“速度”(Velocity)以对准实例化对象移动的方向。请参见 particleShape 节点以了解相关信息。

    “常规选项”(General Options)弹出菜单中的选项包括所有每粒子属性。可以通过为用于控制各实例化对象的每粒子属性设置动画,来控制这些对象的运动。

命令行实例化限制

在动画中渲染任意框架时,runup 命令可能无法创建实例化几何体。在 runup 正确创建实例化几何体之前添加 currentTime 设置;即,如果在使用实例化几何体进行渲染时,runup -mxf 60; 之类的语句不创建正确的结果,请使用:

currentTime -e 1; 
runup -mxf 60;

粒子实例化选项