Unity3d 在碰撞时播放发射粒子不起作用?

Unity3d 在碰撞时播放发射粒子不起作用?,unity3d,Unity3d,我想让粒子系统在发生碰撞时发挥作用,粒子系统是爆炸,但它一直在说 “无法修改ParticleSystem.emission的返回值,因为它不是变量” 这是代码 public Particle explosion; void Start() { explosion.emission.enabled = false; } private void OnCollisionEnter(Collision collision) { if(collision.gameObje

我想让粒子系统在发生碰撞时发挥作用,粒子系统是爆炸,但它一直在说

“无法修改ParticleSystem.emission的返回值,因为它不是变量”

这是代码

public Particle explosion;
void Start()
{
    explosion.emission.enabled = false;



    }


private void OnCollisionEnter(Collision collision)
{
   if(collision.gameObject.name == "Cube")
    {
        Destroy(this.gameObject);
        explosion.Play();

        UnityEngine.SceneManagement.SceneManager.LoadScene("GameOver");

    }
}

当发生碰撞时,您可以实例化游戏对象(爆炸),而不是禁用和启用爆炸

public Transform Explosion;
private void OnCollisionEnter(Collision collision)
{
   if(collision.gameObject.name == "Cube")
    {
        Destroy(this.gameObject);
        Instantiate(explosion);

        UnityEngine.SceneManagement.SceneManager.LoadScene("GameOver");

    }
}
但是,在焰火之后,您正在更改场景,因此它可能不会显示焰火,因为当场景更改时,焰火游戏对象会被销毁。您可以使用协同程序来实现这一点