スクリプトを使って、ParticleSystemを止める方法を紹介します。
emission.enabled
動的にParticleSystemを止めたい時の方法なのです。 普段Unity5.3系を使っているのですが、以前からのコードが非推奨になっていたので、調べてみました。
[c] var particle = transform.GetComponentsInChildren<ParticleSystem> (true); foreach (var p in particle) { var e = p.emission; e.enabled = false;
//非推奨
//e.enableEmission = false;
} [/c]
ParticleSystemから、直接emissionにアクセスできなくなったので、上記のような方法で制御を行います。
emissionを止める理由
Hierarchyを非アクティブにしても、PartcleSystemは止まるのですが、この場合「パッ」と全て消えてしまいます。 見方によってはとても不自然に見えてしまいます。
emissionを使えば、「パーティクルの放出が止まる」ので、放出されたパーティクルはLifeTimeで消えてくれるので、とても自然に見えます。
Unity5の教科書 (Entertainment&IDEA) 北村 愛実 SBクリエイティブ 売り上げランキング : 1524 Amazonで詳しく見る |