代码之家  ›  专栏  ›  技术社区  ›  Ninja2k

如何使粒子移除对象?

  •  0
  • Ninja2k  · 技术社区  · 6 年前

    在我的游戏中,一个玩家放置炸弹,炸弹爆炸产生火焰效果,我希望我的火能够杀死玩家(蓝色圆柱体)和它碰撞到的任何盒子。我的盒子和播放器有对撞机。我的射击效果是在炸弹爆炸时实例化的。

    我能说点什么吗 if fire collider hits player collider, destroy player?

    我的炸弹代码如下

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

    游戏布局

    Game Setup

    2 回复  |  直到 6 年前
        1
  •  1
  •   Becks    6 年前

    你也可以在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);
        }
    }
    
        2
  •  0
  •   Vampirasu    6 年前

    退房 https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnParticleCollision.html

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