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

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

スクリプトを使って、ParticleSystemを止める方法を紹介します。

emission.enabled

動的にParticleSystemを止めたい時の方法なのです。
普段Unity5.3系を使っているのですが、以前からのコードが非推奨になっていたので、調べてみました。

var particle = transform.GetComponentsInChildren<ParticleSystem> (true);
foreach (var p in particle) {
	var e = p.emission;
	e.enabled = false;

    //非推奨
	//e.enableEmission = false;
}

ParticleSystemから、直接emissionにアクセスできなくなったので、上記のような方法で制御を行います。

emissionを止める理由

Hierarchyを非アクティブにしても、PartcleSystemは止まるのですが、この場合「パッ」と全て消えてしまいます。
見方によってはとても不自然に見えてしまいます。

emissionを使えば、「パーティクルの放出が止まる」ので、放出されたパーティクルはLifeTimeで消えてくれるので、とても自然に見えます。

Unity5の教科書 (Entertainment&IDEA)Unity5の教科書 (Entertainment&IDEA)
北村 愛実

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

Amazonで詳しく見る

Related Posts Plugin for WordPress, Blogger...