Unity 3D之碰撞检测

一、碰撞器

碰撞检测两大必备条件:1.其中一方具备刚体,碰撞双方碰撞器

1、刚体

2、盒子碰撞器

 

3、碰撞检测方法 

   void Start()
    {
        this.gameObject.AddComponent<Rigidbody>();//添加刚体
    }

   void OnCollisionEnter(Collision other)
    {
        if (other.gameObject.CompareTag("Enemy"))
        {
            print("碰撞那一帧触发");
        }
    }
    void OnCollisionStay(Collision other)
    {
        if (other.gameObject.CompareTag("Enemy"))
        {
            print("碰撞时触发");
        }
    }
    void OnCollisionExit(Collision other)
    {
        if (other.gameObject.CompareTag("Enemy"))
        {
            print("碰撞退出那一帧触发");
        }
    }

二、触发器

触发检测两大必备条件:1.其中一方具备刚体,碰撞双方触发器

1、刚体

2、盒子触发器

 3、触发检测方法

void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.CompareTag("Enemy"))
        {
            print("触发那一帧触发");
        }
    }
    void OnTriggerStay(Collider other)
    {
        if (other.gameObject.CompareTag("Enemy"))
        {
            print("触发时触发");
        }
    }
    void OnTriggerExit(Collider other)
    {
        if (other.gameObject.CompareTag("Enemy"))
        {
            print("触发退出那一帧触发");
        }
    }

猜你喜欢

转载自blog.csdn.net/m0_74427422/article/details/129170479