【Unity】ParticleSystem.durationのUnity5.5以降の対応
自著であるゲーム開発レシピでも使用していた「ParticleSystem.duration」がUnity5.5以降で使用できなくなったようで、元同僚やブログなどで報告が上がっていたので解決方法を記載しときます。
使用箇所はパーティクルが終了したら消滅するところなので、下記のように使用しています。
ParticleSystem particleSystem = GetComponent <ParticleSystem>(); Destroy(gameObject, particleSystem.duration);
particleSystem.duration が使用できなくなっているので、代わりに ParticleSystem.MainModule.duration を使用します。
使用例がこちら
ParticleSystem ps = GetComponent<ParticleSystem>(); var main = ps.main; Destroy (gameObject, main.duration);
自分で検証してませんが、元同僚がこれでいけたということなのでこれで。
間違いや問題あったら指摘してください。
追記:2020.3.8f1で動作確認しました。