如何在unity3D中销毁游戏对象但具有粒子效果?
How can I destroy a game object but have a particle effect after in unity3D?
我现在正在制作一个简单的游戏,当敌人死亡时它会发射粒子。但问题是,一旦它被摧毁,粒子效果就会停止。有没有办法解决这个问题?
任何帮助是极大的赞赏!我现在使用的是 Unity 2019.3.9f1。这是我的代码(敌人)-----
private void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.CompareTag("bomb"))
{
GetComponent<ParticleSystem>().Play();
Destroy(enemy);
}
}
一种选择是在销毁游戏对象(创建新游戏对象)之前实例化粒子系统,并为这个新游戏对象分配生命周期:
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);
}
我现在正在制作一个简单的游戏,当敌人死亡时它会发射粒子。但问题是,一旦它被摧毁,粒子效果就会停止。有没有办法解决这个问题? 任何帮助是极大的赞赏!我现在使用的是 Unity 2019.3.9f1。这是我的代码(敌人)-----
private void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.CompareTag("bomb"))
{
GetComponent<ParticleSystem>().Play();
Destroy(enemy);
}
}
一种选择是在销毁游戏对象(创建新游戏对象)之前实例化粒子系统,并为这个新游戏对象分配生命周期:
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);
}