Detección de colisiones de Unity 3D

1. Colisionador

Hay dos condiciones necesarias para la detección de colisión: 1. Una de las partes tiene un cuerpo rígido y los colisionadores de ambos lados chocan

1. Cuerpo rígido

2. Colisionador de cajas

 

3. Método de detección de colisiones 

   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("碰撞退出那一帧触发");
        }
    }

Dos, el gatillo

Hay dos condiciones necesarias para la detección del gatillo: 1. Uno de ellos tiene un cuerpo rígido y el gatillo en ambos lados choca

1. Cuerpo rígido

2. Gatillo de caja

 3. Método de detección de disparadores

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("触发退出那一帧触发");
        }
    }

Supongo que te gusta

Origin blog.csdn.net/m0_74427422/article/details/129170479
Recomendado
Clasificación