Colisiones en Unity

Como usar 'OnCollision' y 'OnTrigger' en Unity

Antes de empezar debes tener conocimientos básicos en unity, o si no podrás entender este documento.

Existen 2 tipos 2D y normal, hay diferencias para hacer una detección correcta de una entidad 3D o 2D, ajuste según el caso, ya que te enseñare la teoría para usar las siguientes funciones.

 

 Que son?

 Un recorderis rápido, son la forma de detectar si 2 o más entidades se 'tocan'.

 

Usar 'OnCollision'

El OnCollision detecta si una entidad choca con otra entidad.

Usar 'OnCollisionEnter'

El OnCollisionEnter se ejecuta cuando una entidad choca.

Usar 'OnCollisionStay'

El OnCollisionStay se ejecuta cuando una entidad sigue constantemente chocando, no cuando entra ni cuando sale, es decir, cuando la entidad entra no se activa, pero cuando la entidad sigue estando chocando constantemente se activara la funcion OnCollisionStay.

Usar 'OnCollisionExit'

El OnCollisionExit se ejecuta cuando la entidad deja de chocar.

 

Usar 'OnTrigger'

El OnTrigger detecta si una entidad esta dentro de otra entidad.

Usar 'OnTriggerEnter'

El OnTriggerEnter se ejecuta cuando una entidad entra.

Usar 'OnTriggerStay'

El OnTriggerStay se ejecuta cuando una entidad sigue constantemente adentro, no cuando entra ni cuando sale, es decir, cuando la entidad se mantiene dentro es cuando se ejecuta OnTiggerStay.

Usar 'OnTriggerExit'

El OnTriggerExit se ejecuta cuando la entidad deja de estar adentro, es decir, cuando sale.


Algunos ejemplos de uso:

• Para saber si, por ejemplo, una pelota paso por encima de una malla, uso OnTriggerEnter o OnTriggerExit, ya que si uso OnCollision la pelota rebotará y solo queremos saber si paso por encima.

• Necesitamos detectar cuando dos carros chocones se tocan para quitar vida por ejemplo; usariamos OnCollisionEnter para saber si las entidades se chocaron y quitar un poco de vida.


Algo a tener en cuenta que para activar si el colisionador de la entidad es traspasable o no, es activando (si es traspasable) en 'is trigger'.

Box Collider - Unity Manual




Bibliografía

Documentacion oficial unity