我正在学习Unity(使用C#)教程:Space Shooter,其中有一艘太空飞船在小行星撞击时被摧毁。小行星被销毁,并且爆炸特效成功渲染。但是,此时不可见的爆炸对象将永远保留在场景中。我想清除它们。我知道这可以工作:
void DestroyObjectDelayed()
{
// Kills the game object in 5 seconds after loading the object
Destroy(this.gameObject, 5);
}
但是我想知道是否有一种方法可以使对象在完成爆炸效果渲染时自行销毁,而不是我花几秒钟的时间。
答案 0 :(得分:1)
您可以只使用粒子系统的持续时间。将其放置在要播放完毕的任何想要破坏的粒子系统上。
public class DestroyParticles : MonoBehaviour
{
void Start()
{
Destroy(this.gameObject, GetComponent<ParticleSystem>().main.duration);
}
}