可以为粒子和 nParticle 指定寿命,以使它们在达到指定的年龄后从场景中消失。尽管可以为使用“粒子工具”(Particle Tool)创建的粒子或使用“nParticle 工具”(nParticle Tool)创建的 nParticle 指定寿命,但寿命通常用于发射的粒子。例如,可以使用寿命使发射的烟或火淡出。可以为所有粒子设定寿命,也可以基于每个粒子设定寿命。          

注意                

以下各节是针对粒子寿命的,也适用于 nParticle 对象和“属性编辑器”(Attribute Editor)中的 nParticleShape 节点。                

所有粒子和 nParticle 对象都具有以下属性:          

基于对象的寿命属性  

  • 寿命模式(Lifespan Mode)                

  • 寿命(Lifespan)                

  • 寿命随机(Lifespan Random)                

基于粒子的寿命属性  

  • 寿命 PP (Lifespan PP)                

  • 最终寿命 PP (finalLifespanPP)                

这些属性结合使用来控制寿命。

设定基于对象的寿命

设定基于对象的寿命可为粒子对象中的所有粒子指定相同的寿命。可以使粒子永生,也可以使所有粒子在相同的年龄消亡。  

使粒子永生

  1. 选择粒子对象并显示“属性编辑器”(Attribute Editor)。                

  2. “寿命属性”(Lifespan Attributes)区域,将“寿命模式”(Lifespan Mode)设定为“永生”(Live forever)。                

使粒子在相同的年龄消亡

  1. 选择粒子对象并显示“属性编辑器”(Attribute Editor)。                

  2. “寿命属性”(Lifespan Attributes)区域,将“寿命模式”(Lifespan Mode)设定为“恒定”(Constant)。                

  3. “寿命”(Lifespan)设定为所需的值。                  

    “寿命”(Lifespan)值是粒子对象在创建后存在的秒数。使用“粒子工具”(Particle Tool)创建的粒子对象被认为是在开始场景的第一帧时立即创建的。发射器粒子是在发射时创建的。默认值 1 使粒子对象在一秒后消失。                  

    提示

    如果粒子不消亡,请确保未将“寿命”(Lifespan)设定为较大的数,即超过场景“时间滑块”(Time Slider)的持续时间的数。

设定基于粒子的寿命

设定基于粒子的寿命可为粒子对象中的每个粒子指定不同的寿命。可以使粒子在随机年龄消亡、为单个粒子指定寿命,或使用表达式控制寿命。

使粒子在随机年龄消亡

  1. 选择粒子对象并显示“属性编辑器”(Attribute Editor)。                

  2. “寿命属性”(Lifespan Attributes)区域,将“寿命模式”(Lifespan Mode)设定为“随机范围”(Random range)。                

  3. “寿命”(Lifespan)设定为所需的值。                

  4. “寿命随机”(Lifespan Random)设定为所需的值。                  

    寿命以“寿命”(Lifespan)作为平均值、以“寿命随机”(Lifespan Random)作为分布宽度均匀地分布。                  

    例如,如果“寿命”(Lifespan)为 3,“寿命随机”(Lifespan Random)为 2,则每个粒子的寿命将介于 2 和 4 之间。                  

    “随机范围”(Random range)寿命模式的随机数流在粒子对象内维护,并且在您回放时自动重新设定种子。您不必自行重新设定种子。                  

  5. 如果您希望更改随机范围寿命的随机数流,请指定一个值作为“常规种子”(General Seed)。                  

    通常,不需要更改该值。如果您需要两个外观相同的粒子对象,可以设定该值以便与另一个粒子对象的“常规种子”(General Seed)值相匹配。                  

    注意

    尽管“寿命(Lifespan)”= 4、“寿命随机”(Lifespan Random) = 2 在数学上等效于表达式 $lifespanPP = 3 + rand (2) ;,但这两种设定寿命的方法不会产生相同的结果,因为随机数流不同。

控制单个粒子的“寿命”(lifespan)

  1. 选择粒子对象并显示“属性编辑器”(Attribute Editor)。                

  2. “寿命属性”(Lifespan Attributes)区域,将“寿命模式”(Lifespan Mode)设定为“仅寿命 PP”(lifespanPP only)。                

  3. “每粒子(数组)属性”(Per Particle (Array) Attributes)区域,在“寿命 PP”(Lifespan PP)数据框上单击鼠标右键,并从弹出菜单中选择“组件编辑器”(Component Editor)。                

  4. 单击 “按组件类型选择”(Select by Component Type)图标)。                

  5. 在工作区中,选择要编辑的特定粒子,然后单击“加载组件”(Load Components)。                  

    有关使用组件编辑器的详细信息,请参见使用组件编辑器设定粒子属性。              

  6. 单击“寿命 PP”(lifespanPP)对应的输入框,并输入一个值。                

使用表达式控制寿命

  1. 选择粒子对象并显示“属性编辑器”(Attribute Editor)。                

  2. “寿命属性”(Lifespan Attributes)区域,将“寿命模式”(Lifespan Mode)设定为“仅寿命 PP”(lifespanPP only)。                

  3. “每粒子(数组)属性”(Per Particle (Array) Attributes)区域,在“寿命 PP”(Lifespan PP)数据框上单击鼠标右键,并从弹出菜单中选择“创建表达式”(Creation Expression)“运行时表达式”(Runtime Expression)(动力学计算之前或之后)。                

  4. 创建一个创建表达式或运行时表达式,以便为每个粒子指定唯一值(请参见“表达式”)。                  

    请注意,不能为该属性或其他每粒子属性设定关键帧。                  

如何确定寿命

称为“最终寿命 PP”(finalLifespanPP)的基于粒子的只读属性存储寿命计算的最终结果,无论您使用哪种模式。粒子形状使用“最终寿命 PP”(finalLifespanPP)销毁粒子和驱动渐变。  

  • “恒定”(Constant)“随机范围”(Random range)模式下,为每个粒子存储基于“寿命”(Lifespan)“寿命随机”(Lifespan Random)计算的值。                

  • “仅寿命 PP”(lifespanPP only)模式下,存储“寿命 PP”(lifespanPP)的值。                

  • “永生”(Live forever)模式下,存储最大值浮点数。                

不能以任何方式(例如,使用表达式、渐变或组件编辑器)自行设定“最终寿命 PP”(finalLifespanPP)的值。与年龄一样,它是粒子形状为您计算的属性。但您可以在表达式中读取它的值(但不能指定它的值)。

“随机范围”(Random range)模式下,每个粒子的寿命在粒子出生时确定,并存储在“最终寿命 PP”(finalLifespanPP)中。如果更改“寿命”(Lifespan)“寿命随机”(Lifespan Random),则会影响新粒子,但不会影响已经出生的粒子。如果回放和重新播放,则影响所有粒子。

,