パーティクルと nParticle にライフスパンを設定することによって、指定した存続期間が経過した後にパーティクルをシーンから消滅させることができます。パーティクル ツール(Particle Tool)または nParticle ツール(nParticle Tool)で作成したパーティクルまたは nParticle にライフスパンを設定することはできますが、一般にライフスパンは、放出されるパーティクルに対して使用します。たとえば、ライフスパンを使用して、放出された煙や火をフェード アウトさせることができます。ライフスパンは、すべてのパーティクルについて一括に、またはパーティクル単位で設定できます。
パーティクルのライフスパンに関する以下のセクションは、nParticle オブジェクト、nParticleShape ノードのアトリビュート エディタ(Attribute Editor)にも該当します。
エクスプレッションを使用したパーティクル単位のライフスパン(Lifespan)の詳細については、「ライフスパン(lifespan)を操作する」を参照してください。
すべてのパーティクルと nParticle オブジェクトは、以下のアトリビュートを持っています。
これらのアトリビュートを組み合わせてライフスパンを制御します。
オブジェクト単位のライフスパンを設定すると、パーティクル オブジェクト内のすべてのパーティクルに同一のライフスパンが割り当てられます。パーティクルを際限なく存続させることも、すべてのパーティクルを同じ存在時間で消滅させることもできます。
パーティクルを際限なく存続させるには
同じ存在時間でパーティクルが消滅するようにするには
ライフスパン(Lifespan)の値は、パーティクル オブジェクトが生成されてから消滅するまでの秒数です。パーティクル ツール(Particle Tool)を使用して作成したパーティクル オブジェクトは、シーンの最初のフレームの開始直後に作成されたとみなされます。エミッタ パーティクルは、それが放射されるときに作成されます。既定値は 1 です。この場合、1 秒が経過するとパーティクル オブジェクトは消滅します。
パーティクルが消滅しない場合は、ライフスパン(Lifespan)が大きい値(そのシーンのタイム スライダ(Time Slider)の時間を超える数)に設定していないかを確認してください。
パーティクル単位のライフスパンを設定すると、パーティクル オブジェクト内のそれぞれのパーティクルにそれぞれ異なるライフスパンが割り当てられます。パーティクルを任意の存在時間で消滅させたり、個々のパーティクルにライフスパンを割り当てたり、エクスプレッション(式)を使用してライフスパンを制御したりできます。
ランダム存在時間でパーティクルが消滅するようにするには
ライフスパンは、ライフスパン(Lifespan)を平均値とし、ランダム ライフスパン(Lifespan Random)を分布の幅として、均一に分布されます。
たとえば、ライフスパン(Lifespan)が 3 で、ランダム ライフスパン(Lifespan Random)が 2 の場合は、それぞれのパーティクルのライフスパンは 2 から 4 までです。
ライフスパン モード(Lifespan Mode)がランダム範囲(Random range)の場合の乱数列は、パーティクル オブジェクト内に維持され、リワインドしたときに自動的に再シードされます。乱数列を自分で再シードする必要はありません。
通常、この値を変更する必要はありません。外観が同じ 2 つのパーティクル オブジェクトが必要な場合は、他方のパーティクル オブジェクトの一般シード(General Seed)値と一致するように、この値を設定できます。
ライフスパン(Lifespan) = 4、ランダム ライフスパン(Lifespan Random) = 2 の場合、数学的にはエクスプレッション(式) $lifespanPP = 3 + rand(2); と等しくなりますが、ライフスパンを設定するこれらの 2 つの方法を使用した場合の結果は、乱数列どうしが異なるため等しくなりません。
個々のパーティクルのライフスパン(lifespan)を制御するには
コンポーネント エディタ(Component Editor)の使用法については、コンポーネント エディタ(Component Editor)を使用してパーティクル アトリビュートを設定するを参照してください。
エクスプレッションを使用してライフスパンを制御するには
このアトリビュートやその他のパーティクル単位のアトリビュートをキー設定することはできません。
finalLifespanPP はパーティクル単位の読み取り専用のアトリビュートで、使用しているモードに関わらずライフスパン計算の最終結果を保存します。particleShape は、パーティクルを消滅させる場合とランプを参照する場合に finalLifespanPP を使用します。
どのような方法であっても(たとえば、エクスプレッション、ランプ、またはコンポーネント エディタ(Component Editor)を使用して)、自分で finalLifespanPP の値を設定することはできません。finalLifespanPP は、存在時間と同様に、particleShape が内部的に計算するアトリビュートです。しかし、エクスプレッションを使ってこの値を読み込むことはできます(その値を代入することはできません)。
ランダム範囲(Random range)モードでは、ライフスパンは、それぞれのパーティクルが作成されたときにそれぞれのパーティクルについて決定され、finalLifespanPP に保存されます。ライフスパン(Lifespan)またはランダム ライフスパン(Lifespan Random)を変更した場合、その変更は、新規のパーティクルには適用されますが、すでに作成されているパーティクルには適用されません。巻き戻しまたは再生した場合は、すべてのパーティクルに影響を与えます。