Prototipo para la DETECCIÓN DE OBJETOS que entran en un COLLIDER en Unity

Introducción

He crea­do un pro­totipo en Uni­ty para mostrar cómo detec­tar un obje­to cuan­do entra den­tro del Col­lid­er de otro obje­to y aplicar acciones cuan­do eso ocurre.

Esce­na del pro­totipo que viene den­tro del paque­te de Unity

Paquete para descargar:

A con­tin­uación puedes descar­gar el paque­te de Uni­ty con este pro­totipo, la idea es que importes el archi­vo den­tro de Uni­ty y así podrás ten­er los assets que usamos y al abrir la esce­na verás mon­ta­do algo sim­i­lar a lo que se ve en la ima­gen más arriba.

Por favor lee atentamente lo que digo a continuación sobre el funcionamiento de este prototipo

He crea­do este pro­totipo para que entien­das cómo se puede eje­cu­tar una acción cuan­do detec­ta­mos que un Col­lid­er entra den­tro de otro Col­lid­er.

LA EXPLICACIÓN ESTÁ DIVIDIDA EN DOS PARTES, lo hice de esta man­era porque así es como resuel­vo cualquier prob­le­ma usan­do el motor Uni­ty, luego de analizar un prob­le­ma y crear un plan para solu­cionarlo, hay que ocu­parse de dos cosas, la primera es de los ele­men­tos de la esce­na en Uni­ty, crear GameOb­jects, asig­nar com­po­nentes y con­fig­u­rar. La otra parte de la que hay que ocu­parse es de las líneas de códi­go que resuel­van el prob­le­ma, pero esto no es posi­ble si no ten­emos en claro cuáles son los obje­tos de la esce­na que vamos a usar den­tro de nue­stros scripts.

Vídeo #1: Configuración de los Colliders en Unity

Para empezar vamos a analizar cómo hay que con­fig­u­rar las cosas en Uni­ty para poder detec­tar que un obje­to entra den­tro de otro obje­to. Es nece­sario con­fig­u­rar cor­rec­ta­mente los Col­lid­ers de los obje­tos y agre­gar com­po­nentes Rigid­body para que un Col­lid­er sea capaz de fun­cionar como Trig­ger,

SI NO HACES ESTA PARTE BIEN DA IGUAL QUE ESCRIBAS BIEN LAS INTRUCCIONES DE CÓDIGO, SIMPLEMENTE NO VA A FUNCIONAR. 

Pres­ta mucha aten­ción al sigu­iente vídeo:

Vídeo #2: La función OnTriggerEnter

Una vez que nos ase­gu­ramos de con­fig­u­rar cor­rec­ta­mente los obje­tos de la esce­na, aho­ra sí pasamos a la parte del códi­go, en el sigu­iente vídeo se ve la fun­ción OnTrig­ger­Enter que se eje­cu­ta cuan­do un Col­lid­er es detec­ta­do por un Trig­ger, este con­cep­to se puede usar para muchas cosas dis­tin­tas, en este caso, cuan­do el per­son­aje entra al trig­ger se enciende un obje­to, se repro­duce un sonido y aparece un ene­mi­go en la escena:


Implementación

El prin­ci­pal obje­ti­vo de este pro­totipo es ayu­dar a enten­der cómo fun­ciona el sis­tema de detec­ción por Col­lid­ers en Uni­ty, enten­der esto te ayu­dará a sacar­le may­or ven­ta­ja de acuer­do a tus necesidades.

La may­oría de las acciones que ocur­ren en este pro­totipo con­sis­ten sim­ple­mente en acti­var y desac­ti­var GameOb­jects de la esce­na y tam­bién com­po­nentes, por ejem­p­lo el "ene­mi­go" que cae del cielo cuan­do entramos en el Col­lid­er es sim­ple­mente un GameOb­ject con un com­po­nente Rigid­Body asig­na­do que se encon­tra­ba inac­ti­vo y, al momen­to de entrar el col­lid­er, pasa a estar acti­vo, hacien­do que este obje­to caiga del cielo.

A con­tin­uación te dejo dos vídeos que expli­can cómo acti­var y desac­ti­var GameOb­jects de la esce­na y cómo acti­var y desac­ti­var com­po­nentes asig­nadas a GameOb­jects de la escena.

Cómo activar y desactivar GameObjects a través de código en Unity

Esto se puede usar para hac­er que un obje­to aparez­ca y desa­parez­ca en Uni­ty, en el sigu­iente vídeo se ven las instruc­ciones a eje­cu­tar para acti­var y desac­ti­var un GameOb­ject en Unity

Cómo activar y desactivar Componentes a través de código en Unity

Esto es sim­i­lar a lo ante­ri­or pero se bus­ca acti­var y desac­ti­var una com­po­nente en Uni­ty, se puede usar para que un deter­mi­na­do com­por­tamien­to deje de ejecutarse.

Scroll al inicio
Secured By miniOrange