Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
OnCollisionEnter y OnTriggerEnter | Física de Unity
Unity para Principiantes
course content

Contenido del Curso

Unity para Principiantes

Unity para Principiantes

1. Introducción a Unity
2. Escribe tu Primer Script
3. Física de Unity
4. Interfaz y Sonidos de Unity
5. Pulido y Exportación de tu Juego

bookOnCollisionEnter y OnTriggerEnter

OnCollisionEnter2D:

Uso: Este método se llama cuando un colisionador 2D adjunto al GameObject al que este script está adjunto, colisiona con otro colisionador en la escena y al menos uno de los colisionadores tiene un Rigidbody2D adjunto.

Disparador: Este método se utiliza principalmente para manejar colisiones físicas, donde los objetos realmente "chocan" entre sí.

Escenario de Ejemplo: Imagina que tienes un juego con un personaje que salta y aterriza en plataformas. Cuando el personaje aterriza en una plataforma, es posible que desees reproducir un efecto de sonido de aterrizaje, cambiar la animación del personaje o activar alguna otra acción. Usarías OnCollisionEnter2D para detectar cuando el colisionador del personaje colisiona con el colisionador de la plataforma.

OnTriggerEnter2D:

Uso: Este método se llama cuando un colisionador 2D adjunto al GameObject al que este script está adjunto, se superpone con otro colisionador en la escena y al menos uno de los colisionadores tiene la propiedad "Is Trigger" habilitada.

Disparador: A diferencia de OnCollisionEnter2D, este método no se trata de colisiones físicas, sino de detectar cuando un objeto entra en el espacio de otro sin necesariamente detener su movimiento. Piénsalo como caminar a través de una puerta sin empujarla físicamente para abrirla.

Escenario de Ejemplo: Supongamos que tienes un juego donde el jugador recoge monedas. Cuando el personaje del jugador se mueve sobre una moneda, deseas aumentar la puntuación del jugador y hacer que la moneda desaparezca. Usarías OnTriggerEnter2D para detectar cuando el colisionador del jugador se superpone con el colisionador de la moneda.

¿Qué es una Etiqueta?

Definición: Una etiqueta es un valor de cadena que puedes asignar a un GameObject en Unity.

Propósito: Las etiquetas se utilizan para categorizar e identificar GameObjects para varios propósitos, como diferenciar entre objetos controlados por el jugador, enemigos, coleccionables, obstáculos, etc.

Usos Comunes de las Etiquetas:

Identificación de Objetos del Juego: Las etiquetas se utilizan comúnmente para identificar GameObjects importantes en tu escena, como el personaje del jugador, enemigos, objetos coleccionables, metas, etc.

Detección de Colisiones: Las etiquetas pueden usarse para determinar el tipo de GameObjects involucrados en colisiones. Por ejemplo, podrías querer verificar si el jugador chocó con un enemigo o un objeto coleccionable.

Detección de Disparadores: Similar a la detección de colisiones, puedes usar etiquetas para identificar GameObjects que ingresan a zonas de disparo configuradas en tu escena.

Ejemplo:

Este método se llama cada vez que ocurre una colisión entre el jugador y otro GameObject en la escena.

El método recibe un parámetro de colisión de tipo Collision2D, que contiene información sobre la colisión.

Verifica si la etiqueta del colisionador involucrado en la colisión es igual a "ground".

Si la condición es verdadera, imprime "you lost" en la Consola de Unity usando Debug.Log().

Este método se llama cada vez que ocurre una superposición de disparador entre el jugador y otro GameObject en la escena.

El método recibe un parámetro de colisión de tipo Collider2D, que contiene información sobre la superposición del disparador.

Verifica si la etiqueta del collider que activa es igual a "win".

Si la condición es verdadera, imprime "you won" en la Consola de Unity usando Debug.Log().

1. Al usar OnTriggerEnter2D, ¿qué propiedad de los colliders debe establecerse en verdadero para habilitar la detección de disparadores?
2. ¿Qué método se debe usar para manejar la detección de colisiones entre dos colliders que no son disparadores?
Al usar OnTriggerEnter2D, ¿qué propiedad de los colliders debe establecerse en verdadero para habilitar la detección de disparadores?

Al usar OnTriggerEnter2D, ¿qué propiedad de los colliders debe establecerse en verdadero para habilitar la detección de disparadores?

Selecciona la respuesta correcta

¿Qué método se debe usar para manejar la detección de colisiones entre dos colliders que no son disparadores?

¿Qué método se debe usar para manejar la detección de colisiones entre dos colliders que no son disparadores?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 4
some-alt