C# Unity:在完成渲染后销毁VFX对象
我遵循这个统一(与C#)教程:我们有一艘太空船,当小行星撞击它时,它会被摧毁。小行星被摧毁,爆炸VFX成功渲染。但是,此时不可见的爆炸对象将永远保留在场景中。我想清除它们。我知道这会奏效:C# Unity:在完成渲染后销毁VFX对象,c#,unity3d,C#,Unity3d,我遵循这个统一(与C#)教程:我们有一艘太空船,当小行星撞击它时,它会被摧毁。小行星被摧毁,爆炸VFX成功渲染。但是,此时不可见的爆炸对象将永远保留在场景中。我想清除它们。我知道这会奏效: void DestroyObjectDelayed() { // Kills the game object in 5 seconds after loading the object Destroy(this.gameObject, 5); } 但我想知道是否有办法让对象在完成爆炸效果渲染
void DestroyObjectDelayed()
{
// Kills the game object in 5 seconds after loading the object
Destroy(this.gameObject, 5);
}
但我想知道是否有办法让对象在完成爆炸效果渲染时自行销毁,而不是我设置几秒钟。您可以使用粒子系统的持续时间。播放完毕后,将此应用于任何要破坏的粒子系统
public class DestroyParticles : MonoBehaviour
{
void Start()
{
Destroy(this.gameObject, GetComponent<ParticleSystem>().main.duration);
}
}
公共类销毁粒子:单一行为
{
void Start()
{
销毁(this.gameObject,GetComponent().main.duration);
}
}
没有名为持续时间的属性。。我相信你的意思是GetComponent().main.duration
see->它可以工作。谢谢编辑答案以添加@derHugo所说的内容谢谢大家。这一定是针对遗留系统的。