首页 > 解决方案 > 如何在unity3D中销毁游戏对象但具有粒子效果?

问题描述

我现在正在制作一个简单的游戏,当敌人死亡时它会发射粒子。但问题是,一旦它被破坏,粒子效果就会停止。有没有办法解决这个问题?任何帮助是极大的赞赏!我现在使用 Unity 2019.3.9f1。这是我的代码(敌人)-----

private void OnCollisionEnter(Collision collision)
{

    if (collision.gameObject.CompareTag("bomb"))
    {
        GetComponent<ParticleSystem>().Play();
        Destroy(enemy);
    }
}

标签: c#unity3dparticlesparticle-system

解决方案


一种选择是在销毁游戏对象(创建新游戏对象)之前实例化粒子系统,并为这个新游戏对象分配生命周期:

Destroy(newGameObject, secondsToDestroy);

您还可以执行类似的操作:https ://answers.unity.com/questions/610673/how-to-destory-a-gameobject-in-c-after-3-seconds.html

更新

public ParticleSystem ps;

    // Start is called before the first frame update
    void Start()
    {
        GameObject go = Instantiate(ps.gameObject);
        Destroy(go, 10.0f);
        Destroy(this.gameObject);
    }

推荐阅读