今回はParticle System(Shuriken)において、パーティクルのEmit(放出)を一時的に停止する方法について紹介します。
パーティクルの一時停止
パーティクルの生成は大抵の場合EmissionModuleを使用します。ただし、パーティクルの生成を停止することは若干面倒な作業になります。
生成の停止?
たとえばバーニアの演出をパーティクルで行った場合です。バーニアの火を一瞬止めて再度吹かすような絵では当然パーティクルを一時的に止めたくなります。
これをSetActiveで行う場合、パーティクルは速やかに停止すると同時に表示まで消してしまいます。
ParticleSystem.Stop()
やり方は単純で、パーティクルの停止時に「クリアしない」停止方法を選択するだけです。
particle.Stop (true, ParticleSystemStopBehavior.StopEmitting);を実行すると、パーティクルの生成は停止しますがパーティクルの処理自体は維持してくれます。
なおParticleSystemStopBehavior.StopEmittingは標準値なので、実際にはparticleSystem.Stop()でもOKです。
以前と比べると、生成済みパーティクルを全消去するオプションが追加されています。
以前に書いてた
と、こんな感じで紹介しましたが、以前に同じ記事を書いてました。タイトルのニュアンス違ったから違うもんと思ってた(本人談
ハハハ、あるあr
やってみた
当たり判定込で試してますが、思ってたよりも普通に使える…
— 椿 (@tsubaki_t1) 2017年12月14日
コントロールが面倒くさいのが玉に瑕
関連
これについて書こうと思った
#UnityTips Tuesday, this is how you stop a particle system without the remaining particles disappearing. I know Twitter loves gifs so I put one in the first reply. pic.twitter.com/zf0P2oeef0
— Giftedware Studios (@Giftedware) 2017年12月12日今週のお題「今年中にやっておきたいこと」
Here you go! pic.twitter.com/ZeABcDYs5v
— Giftedware Studios (@Giftedware) 2017年12月12日