¿Cómo funciona OnTriggerEnter en Unity? Aplicaciones

Introducción

En este artícu­lo vamos a ver cómo fun­ciona el méto­do OnTrig­ger­Enter en Uni­ty. Esta fun­ción nos per­mi­tirá saber cuán­do el Col­lid­er de un GameOb­ject ha entra­do en la región de otro Col­lid­er que está con­fig­u­ra­do como detec­tor. OnTrig­ger­Enter y OnTrig­gerEx­it son méto­dos muy sim­i­lares pero cam­bia el momen­to en el que sucede la eje­cu­ción de estos méto­dos, enten­der estas fun­ciones nos per­mi­tirá eje­cu­tar acciones en el momen­to pre­ciso en que lo necesitamos. 

Esti­ma­dos internautas

🍷🧐

ACERCA DE ESTOS VÍDEOS

A con­tin­uación tienes dos vídeos que expli­can el fun­cionamien­to de un pro­totipo para la detec­ción de un obje­to que entra den­tro de un Col­lid­er. En el vídeo de la izquier­da vemos cómo con­fig­u­rar los Col­lid­ers para que los even­tos OnTrig­ger fun­cio­nen. En el vídeo de la derecha anal­izamos el códi­go del Script donde están definidas las fun­ciones OnTrig­ger­Enter y OnTrig­gerEx­it. Descar­ga el paque­te de Uni­ty aquí.

MI LISTA DE REPRODUCCIÓN DE UNITY👇🏽

Cómo funciona OnTriggerEnter en Unity

El méto­do OnTrig­ger­Enter se encuen­tra definido en la clase MonoBe­hav­iour. Es decir que cualquier nue­vo Script por defec­to lo va a ten­er por herencia.

Para que ocur­ra la eje­cu­ción de OnTrig­ger­Enter deben darse varias condiciones. 

La primera es que deben haber dos GameOb­jects con Col­lid­ers involu­cra­dos, uno de los Col­lid­ers debe estar en modo Trig­ger, para esto se debe tildar la casil­la "Is Trig­ger" en el inspector.

Además al menos uno de los GameOb­jects involu­cra­dos debe ten­er asig­na­do un com­po­nente Rigid­Body, porque OnTrig­ger­Enter está rela­ciona­do a la parte físi­ca del motor.

Declaración de la función OnTriggerEnter

El hecho de que esté definido en la clase MonoBe­hav­iour y un nue­vo Script por defec­to la imple­mente no sig­nifi­ca que automáti­ca­mente ten­dremos a OnTrig­ger­Enter en nue­stro Script, debe­mos declarar­lo y lo hace­mos de la sigu­iente manera:


private void OnTriggerEnter(Collider c){

//Acciones a realizar cuando se detecta una entrada al Trigger.

}

Si las condi­ciones se dán, este méto­do se eje­cu­tará automáti­ca­mente, así que en su inte­ri­or escribi­mos todo lo que sea nece­sario hac­er cuan­do eso pase.

El parámetro "Col­lid­er c" que recibe el méto­do, es el Col­lid­er del GameOb­ject que entró en con­tac­to con el Trig­ger. Podemos usar este parámetro para hac­er muchas cosas, por ejem­p­lo obten­er el GameOb­ject que tiene asig­na­do ese col­lid­er, esto lo hace­mos sim­ple­mente con:

c.gameObject

A par­tir de ahí podemos leer cualquier otra com­po­nente que ten­ga asig­na­do el GameOb­ject, su tag, su lay­er, mod­i­ficar lo que nece­site­mos y se nos per­mi­ta mod­i­ficar, eje­cu­tar méto­dos definidos en Scripts que pue­da ten­er asig­na­dos y muchas más acciones.

Para saber más sobre fun­ciones de pro­gra­mación con parámet­ros te invi­to a ver este vídeo o leer su artícu­lo cor­re­spon­di­ente.

Conclusión

El méto­do OnTrig­ger­Enter nos per­mite detec­tar cuán­do dos GameOb­jects sola­pan sus Col­lid­ers, de esa for­ma podremos aplicar todas las acciones que sean necesarias.

OnTrig­ger­Enter se eje­cu­ta automáti­ca­mente, para para esto deben darse algu­nas condi­ciones, la primera es que deben haber dos GameOb­jects con Col­lid­ers involu­cra­dos y uno de ellos en modo Trig­ger y la segun­da es que al menos uno de los GameOb­jects debe ten­er asig­na­da una com­po­nente RigidBody.

VÍDEOS DEL CANAL CON MÁS BÚSQUEDAS

DE UNITY

DE BLENDER

Paquete para descargar:

A con­tin­uación puedes descar­gar el paque­te de Uni­ty que al impor­tar­lo en tu motor, recu­per­arás los Assets que usamos y podrás pro­bar­lo en tu propia computadora.

🎁 Uni­ty Pack­age: Object detec­tion and Trig­ger Events in Unity

ABOUT THIS SOLUTION

  • By click­ing in Down­load you will get a file with "Uni­ty Pack­age" exten­sion. Drag and drop that file into Uni­ty to import it.
  • When you import this Uni­ty Pack­age you will find a fold­er with 1 scene, 2 scripts and some extras.
  • Inside the scenes you'll find infor­ma­tion about how this solu­tions works.

Scroll al inicio
Secured By miniOrange