【Unity】パーティクルを止める - エフェクト

スクリプトを使って、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)Unity5の教科書 (Entertainment&IDEA)
北村 愛実

SBクリエイティブ
売り上げランキング : 1524

Amazonで詳しく見る