如何使粒子移除对象?

时间:2018-12-09 22:34:47

标签: c# unity3d

在我的游戏中,一名玩家放置了一颗炸弹,炸弹爆炸而产生了射击效果,我希望自己的火能杀死该玩家(蓝色圆柱体)及其所碰到的任何盒子。我的盒子和播放器有对撞机。炸弹爆炸时会实例化我的射击效果。

如何使射击效果破坏播放器和盒子中的物体?

我可以说 if fire collider hits player collider, destroy player?

我的炸弹代码如下

Instantiate(Firebolt, bomb.gameObject.transform.position, Quaternion.identity);

游戏布局

Game Setup

2 个答案:

答案 0 :(得分:1)

您还可以在Firebolt中添加对撞机,并在其上使用OnCollisionEnter,检查您击中的对象是玩家还是盒子。

这是一个简单的示例,它摧毁了所有与之碰撞的玩家或盒子:

void OnCollisionEnter(Collision collision) {
    GameObject other = collision.gameObject;

    // Here I'm using tag to detect if the hit object is a player or a box
    // but you can use name or other methods
    if (other.tag == 'Player' || other.tag == 'Box') {
        Destroy(other);
    }
}

答案 1 :(得分:0)

签出https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnParticleCollision.html

您可以将其应用于“粒子系统”或应该对其做出反应的目标GO。

(u还需要在粒子系统上激活碰撞检测并将其设置为世界。