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