我正在学习Unity (与C#)教程:Space Shooter,我们有一艘宇宙飞船,当小行星撞到它时,它就会被摧毁。小行星被摧毁,爆炸VFX渲染成功。但是,爆炸对象在这一点上是不可见的,将永远保留在场景中。我想把它们清理干净。我知道这是可行的:
void DestroyObjectDelayed()
{
// Kills the game object in 5 seconds after loading the object
Destroy(this.gameObject, 5);
}
但是我想知道有没有一种方法可以让物体在完成爆炸效果渲染后自行销毁,而不是我设置几秒钟。
发布于 2019-01-04 03:19:14
您可以只使用粒子系统的持续时间。把它放在任何你想要销毁的粒子系统上,当它完成播放时。
public class DestroyParticles : MonoBehaviour
{
void Start()
{
Destroy(this.gameObject, GetComponent<ParticleSystem>().main.duration);
}
}
https://stackoverflow.com/questions/54032689
复制相似问题