Unity物体碰撞,模拟游戏子弹射中人

发表于2018-05-30
评论0 1.9k浏览
对于碰撞器与触发器的区别本篇文章就不和大家做介绍了,大家可以参考这篇文章,下面要和大家介绍的是物体碰撞下模拟游戏子弹射中人的效果,一起来看看吧。

直接上代码:
//主动方必须有Rigidbody  发生碰撞的两个游戏对象必须有Collision  被动方对于Rigidbody可有不可无
    //参数是表示被动方
    void OnCollisionEnter(Collision col)
    {
        Debug.Log("开始碰撞"+col.collider.gameObject.name);
    }
    void OnCollisionStay(Collision col)
    {
        Debug.Log("持续碰撞中" + col.collider.gameObject.name);
    }
    void OnCollisionExit(Collision col)
    {
        Debug.Log("碰撞结束" + col.collider.gameObject.name);
    }
    //有刚体的不勾选is trigger,  被动方没有刚体,但是勾选IS Trigger
    void OnTriggerEnter(Collider other)
    {
        //模拟子弹打到人,打到后子弹和被打目标同时消失
        Debug.Log("触发器开始:" + other.gameObject.name);
        GameObject.Destroy(gameObject);
        Destroy(other.gameObject);
    }
    void OnTriggerStay(Collider other)
    {
        Debug.Log("触发器检测中:" + other.gameObject.name);
    }
    void OnTriggerExit(Collider other)
    {
        Debug.Log("触发器结束:" + other.gameObject.name);
    }

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引