シミュレーションを再生してみると、nParticle が実際の煙と違って空中に消えていっていないのがわかります。これは、nParticle のライフスパンがまだ定義されていないためです。
このレッスンでは、nParticle のライフスパン(Lifespan) アトリビュートを使用して、nParticle が指定した寿命に達すると消えるようにします。ライフスパンに応じて nParticle オブジェクトのサイズ(半径(Radius))が変化するよう設定して、時間の経過に従って nParticle のサイズが増減するようにします。
nParticle のライフスパン(Lifespan)を設定するには
今度は、nParticle が放出後すぐに消滅(シーンから消える)しています。nParticle のライフスパン(Lifespan)は秒単位で設定します。つまり、ライフスパン(Lifespan)が 1.0 であれば、nParticle は 1 秒後に消滅します。
nParticle は以前よりランダムに消滅するようになりましたが、nParticle オブジェクトの密度が不十分でまだ煙らしく見えません。nParticle の半径(Radius)を大きくして nParticle オブジェクトの密度を濃くします。
リアルな煙のシミュレーションでは、煙が空中に立ち昇るにつれて nParticle を徐々に消滅させていく必要があります。半径スケール(Radius Scale)のランプを使用し、時間の経過につれて各 nParticle の半径を大きくして、煙が分散してシーンから徐々に消えていく効果を出します。
ランプは、選択した位置(Selected Position)および選択した値(Selected Value)フィールドの右側にグラフのような長方形で表示されます。まだランプにマーカーがない場合は、グラフをクリックして、マーカーを目的の位置にスライドするか、マーカーの値を選択した位置(Selected Position)および選択した値(Selected Value)フィールドに入力します。最初のマーカーは線がグラフの左端の部分と交差する位置に、最後のマーカーは線がグラフの右端の部分と交差する位置にある必要があります。ランプ内をクリックしてマーカーを作成します。
新しいマーカーを作成すると、選択した値(Selected Value)と選択した位置(Selected Position)の 2 つの値を設定できます。たとえば、選択した値(Selected Value)は、それぞれ nParticle オブジェクトの半径(Radius)アトリビュートのスケーリング値を表します。既定では、ランプはスケール値 1 を定義します。つまり、ランプ上に存在するポイントは 1 つのみで、このポイントはアトリビュートのスケール係数 1 を表します。選択した位置を 0.5 に設定すると、パーティクル単位の半径が半径(Radius)の値の半分になります。
マーカー | 選択した位置(Selected Position) | 選択した値(Selected Value) |
---|---|---|
2 | 0.732 | 0.180 |
3 | 0.882 | 0.480 |
4 | 1.0 | 1.0 |
正規化した存在時間(Normalized Age)を使用する場合、パーティクル単位の半径は nParticle オブジェクトのライフスパンの範囲内にマップされます。
引き続き、ランプにさらにマーカーを追加してパーティクル単位の半径を調整したり、シミュレーションを再生しながらランプ値を最適化したりすることができます。