Cómo detectar las colisiones en Unity (Trigger y Collision)

  Рет қаралды 33,311

BravePixelG

BravePixelG

Күн бұрын

Пікірлер: 75
@cyanPobre
@cyanPobre Жыл бұрын
solo por si a alguien no le baja la vida acorde al tiempo establecido. Es debido a una mecánica del rigidbody, que de alguna manera apaga el encendido de ontriggerstay. Para solucionarlo, vayan al apartado rigidbody de su player u objeto, y en la parte de sleeping mode escojan never sleep.
@Pablo-uo4bs
@Pablo-uo4bs Жыл бұрын
Muchas gracias bro, tengo 4 dias batallando con esto y solo era mover a player ❤️‍🔥❤️‍🔥
@64mxg
@64mxg 3 жыл бұрын
yea gracias Bro..... logre hacer varias cosas como romper una pared y tambien cuando se activa un switch se abra un puerta para poder seguir avanzandoo :D .... me estan sirviendo super GRACIAS.
@rotelaacosta6839
@rotelaacosta6839 3 жыл бұрын
Estos tutoriales ayudan muchisimo, enserio muchas gracias por compartir tus conocimientos.Saludos!!!
@BravePixelG
@BravePixelG 3 жыл бұрын
Me alegra mucho que te sean útiles, aún tenemos mucho por ver y aprender, muchas gracias por tus comentarios.
@Dantec5
@Dantec5 9 ай бұрын
con el unico video que entendi las colisiones gracias
@javiernicolasuarezmamani633
@javiernicolasuarezmamani633 3 жыл бұрын
gracias por tu conocimiento. me ayuda aprender mas , saludos desde peru
@BravePixelG
@BravePixelG 3 жыл бұрын
Muchas gracias por tus comentarios, estamos aprendiendo juntos mientras hacemos los videos, espero seguir creando más contenido para seguir avanzando juntos.
@gamesmadarck89
@gamesmadarck89 3 жыл бұрын
Se ve muy bueno tu canal Nuevo suscriptor
@BravePixelG
@BravePixelG 3 жыл бұрын
Muchas gracias, seguiremos trayendo contenido muy interesante sobre unity, gracias por el apoyo.
@barttv7067
@barttv7067 2 жыл бұрын
muchas gracias!!! gracias a ti pude mejorar bastante mi script de dañooo graciass!!!
@carlosjesus4453
@carlosjesus4453 Жыл бұрын
Una pregunta, Como puedo hacer un objeto trigger con fisicas? quiero hacer monedas que el jugador pueda tomas pero que caigan al suelo sin transpasarlo.
@sandraeriusand9021
@sandraeriusand9021 Жыл бұрын
Muchas gracias! Me ayudaste mucho con los Trigger. Una duda: Qué extensiones usas en Visual Studio? Yo tengo algunas que, se supone, te ayudan a completar las líneas. Pero la gran mayoría de las veces me dificultan más que ayudar (porque me aparecen palabras que no quiero usar, o no me aparece justamente la que sí necesito).
@BravePixelG
@BravePixelG Жыл бұрын
Hola, hace poco subimos un video de la nueva extensión de VSCode para Unity, te dejo el link a este video aquí abajo, esta es la configuración que uso actualmente, pero en general es suficiente con la extensión de Unity code snippets y la de C#: kzbin.info/www/bejne/gYfKiaCaoKyNiZo
@psychoraccoon
@psychoraccoon Жыл бұрын
yo tengo un problema, en mi VS por alguna razon no reconoce "other", el que va antes de collider.comparetag, alguien que me pueda ayudar por favor?
@BravePixelG
@BravePixelG Жыл бұрын
Hola, es posible que al autocompletar en VS no te salga other, sino collider, debes usar el nombre del parámetro que sale en el método
@cristiancarrazana3131
@cristiancarrazana3131 3 ай бұрын
yo que q con proyect seting pero es que en la otras box collider layer tengo otras cosas como daño y muerte .
@KeshGD
@KeshGD 2 жыл бұрын
Pregunta, ¿Que se diferencia una colaider de una hitbox?
@xavi2227
@xavi2227 2 жыл бұрын
Una duda, cuando le doy play con los componentes de rigid body y box colider puestos, la cámara se vuelve loca. Hay alguna solución?
@cristiancarrazana3131
@cristiancarrazana3131 3 ай бұрын
como puedo hacer que los enemigos no choquen gracias
@lidoazul
@lidoazul 3 жыл бұрын
Buen video, tengo una duda es posible hacer colisiones con objetos sin que el player (personaje) tenga en sí la función de rigibody 2D
@BravePixelG
@BravePixelG 3 жыл бұрын
Primero muchas gracias, me alegra que te gustara. Para las detecciones con Ontrigger y OnCollision siempre es necesario un rigidbody, ya depende de que es lo que hagas puedes configurarlo para que algunas fuerzas no afecten, pero si solo es colisionar con otros objetos solo es necesario un collider, pero te recomiendo que uses los rigidbody y los alternes entre el Dynamic, Kinematic y Static en "Body type" para que no tengas problemas porque es muy común que todo esté bien programado, pero nos falte este elemento
@brandongutierrez8998
@brandongutierrez8998 2 жыл бұрын
Tengo una duda, hace poco quise hacer un juego estilo Snake, y el problema es que quise poner un Edge Collider 2D para las paredes, y le puse un RigidBody2D a la serpiente, pero no funcionan las colisiones, atraviesa todos los bordes, a que se debe esto?
@BravePixelG
@BravePixelG 2 жыл бұрын
Hola, puede ser por la manera en la que se mueve el objeto, si el movimiento es por celdas o es a mucha velocidad puede llegar a ignorar las colisiones, ya que no logra detectarla al ser muy pequeño el colisionador o tener muy poco tiempo por la velocidad, una manera de detectar mejor las colisiones es cambiar la detección de la colisión en el rigydbody de dinámica a continua.
@brandongutierrez8998
@brandongutierrez8998 2 жыл бұрын
@@BravePixelG Justamente el movimiento es por celdas, así que voy a probar a cambiar lo del RigidBody
@BravePixelG
@BravePixelG 2 жыл бұрын
@@brandongutierrez8998 Si el movimiento es por celdas no creo que te funcione, ya que él no puede reconocer el contacto con una superficie si pasa sobre ella, debes tomar otra alternativa diferente a un contacto directo con una superficie
@alexanderpepinosa7636
@alexanderpepinosa7636 2 жыл бұрын
en visual estudio no me sale la opcion de OnCollaiders y crear automaticamente el metodo, usas alguna extencion o simplemente no me sale a mi? help xd
@BravePixelG
@BravePixelG 2 жыл бұрын
Hola, es una extensión del VSCode se llama unity code snippets
@alexanderpepinosa7636
@alexanderpepinosa7636 2 жыл бұрын
@@BravePixelG thx :3
@enriquepion4060
@enriquepion4060 2 жыл бұрын
AYUDA, tengo un PROBLEMA. Si un enemigo me golpea, hace daño el PJ principal y lo empuja hacia atrás. PERO si detrás del PJ hay un muro, al ser golpeado por un enemigo, el PJ entra dentro del muro. La idea es no quitar la fuerza de empuje cuando recibe daño.
@BravePixelG
@BravePixelG 2 жыл бұрын
Hola, si la fuerza que le aplicas debe mantener como este valor puedes intentar cambiar el valor de la velocidad o la posición de tu personaje para que esto no ocurra al momento de tocar la pared, si el personaje toca la pared puedes volver la velocidad 0 o asignar la posición al punto donde la tocó para evitar esto de manera rápida.
@enriquepion4060
@enriquepion4060 2 жыл бұрын
@@BravePixelG Muchas gracias
@yisusengineer5386
@yisusengineer5386 Жыл бұрын
Wey eres un heroe
@gabitzzo
@gabitzzo 2 жыл бұрын
no entiendo qué sucede, sólo detecta que estoy colisionando con un trigger cuando me muevo, pero si me quedo quieto dentro del trigger ya no lo detecta
@BravePixelG
@BravePixelG 2 жыл бұрын
Es un error que también me ocurrió cuando usaba OnTriggerStay, te recomiendo mejor usar diferentes métodos cuando entras en la colisión y desactivarlos cuando sales de ella, normalmente ocurre este error con mas frecuencia si usas un rigidbody en kinematic
@gabitzzo
@gabitzzo 2 жыл бұрын
@@BravePixelG es raro porque no usé kinematic, pero bueno :/ al final usé OnTriggerEnter y OnTriggerExit, aunque me hubiese gustado que puedas interactuar con la E para activar cierto menú
@progameskids4477
@progameskids4477 2 жыл бұрын
hola como puedo hacerle para que al collicionar con un objeto en el caso de las espinas el personaje rebote hacia atras como cuando te quemas y sacas rapido la mano por inercia que te causa daño me puedes apoyar por favor
@BravePixelG
@BravePixelG 2 жыл бұрын
Hola, puedes lograrlo en el momento en el que se genera el daño, luego puedes cambiar la velocidad del rigidbody de tu personaje, según lo que necesites, si es para arriba o para el lado contrario de donde recibió el golpe, además de las animaciones y por último restringir el movimiento del jugador para que no pueda alterar esta velocidad mientras el efecto dure
@juanillambi2711
@juanillambi2711 2 жыл бұрын
Muchas gracias por el tutorial! Una consulta, cuando colisiona mi personaje con el objeto le saca el daño 2 o 3 veces nada mas y luego deja de colisionar y no le saca mas vida. Sabrás a que se debe esto?
@BravePixelG
@BravePixelG 2 жыл бұрын
Hola, si es con el método Stay si existe este problema, parece que si el personaje queda estático en el colisionador deja de funcionar después de un tiempo hasta que vuelva a moverse o a salir de la colisión, parece un bug de Unity, entonces te recomiendo mejor usar el Enter y Exit para generar las interacciones, y usar otros mecanismos para generar daño por segundo porque parece un problema recurrente
@blackdead882
@blackdead882 Жыл бұрын
tiene una arreglo mas sencillo en la parte de rigbody en sleping mode lo pones en never slep
@cazadoresdevideojuegos2581
@cazadoresdevideojuegos2581 2 жыл бұрын
Gracias por el video ya hice varias cosas , solo no puedo hacer una plataforma donde el personaje solo colisione de arriba hacia abajo callendo , y no de abajo hacia arriba subiendo , seguire intentando gracias.
@BravePixelG
@BravePixelG 2 жыл бұрын
Hola, tenemos un video en el canal donde explicamos como lograr este efecto, te lo dejo aquí abajo: kzbin.info/www/bejne/nZSmimaidtCnoJo
@pepitoquispe3202
@pepitoquispe3202 2 жыл бұрын
Una pregunta yo tengo una animacion de tomar daño como la podría implementar, mis animaciones son las mismas que las de tu video sobre ello. A y también quisiera saber si pudieras hacer un video que al morir un personaje te mande al último chekpoint o que al morir te haga un menú y le pones revivir y vuelves a aparecer o algo parecido seria de gran ayuda.
@BravePixelG
@BravePixelG 2 жыл бұрын
Puedes ejecutar la animación con un trigger en tu Animator cuando tu personaje tome daño
@pepitoquispe3202
@pepitoquispe3202 2 жыл бұрын
@@BravePixelG si amigo pero despues de la animacion de golpe tiene q pasar a correr o idle como haria eso? y como integro esa animacion a mi codigo es este, la muerte funciona bien lo hicecon un evento pero necesito eso de golpe para que salga la animacion de golpe y cuando de le den el ultimo golpe salga la animacion de muerte: public class Combatejugador : MonoBehaviour { [SerializeField] int vida; [SerializeField] int maximavida; private Animator animator; private void Start() { vida = maximavida; animator = GetComponent(); } public void tomardaño(int daño) { vida -= daño; if (vida maximavida) { vida = maximavida; } else { vida += curacion; } } public void Muerte() { Destroy(gameObject); } }
@BravePixelG
@BravePixelG 2 жыл бұрын
@@pepitoquispe3202 Puedes implementarlo de la misma manera que tu animación de muerte, con un trigger propio del golpe, puede ser con un else después del if del cálculo de la cantidad de vida y en el animator puedes configurarlo dando las transiciones de "Cualquier estado" al de animación con el trigger y luego puedes enviarlo a la animación que más te convenga, si el golpe hace que tu personaje salte puedes enviarlo a la animación del salto, si usas el tiempo de salida en 1 hace la animación completa, este para la transición al salto.
@pepitoquispe3202
@pepitoquispe3202 2 жыл бұрын
@@BravePixelG amigo muchas gracias unas últimas dos dudas en la batalla del jefe como puedo hacer que cuando muera se reinicie desde el principio y no reaparezca y el jefe tenga la vida que le haya bajado, y cuando muera como hago que se pase todo hasta que la animacion de morir termine
@BravePixelG
@BravePixelG 2 жыл бұрын
Hola, no sé si lo entendí bien, pero vamos a ver que podemos hacer, puedes usar un objeto que sea el que crea al jefe y este sea el que decida si lo usa en la escena o no, esto lo puedes guardar con PlayerPrefs para probar su funcionamiento y de esta misma manera puedes guardar información útil sobre la cantidad de vida que tiene y si debe reajustarse si se recarga la escena, y para una animación final puedes usar la herramienta de Timeline de Unity para crear una cinemática pequeña para el final del combate.
@promartin2093
@promartin2093 2 жыл бұрын
como se hace para detectar si esta tocando algo por solo un lado de una colision
@BravePixelG
@BravePixelG 2 жыл бұрын
Una manera puede ser con la normal, como lo hicimos en el video de como dañar a un enemigo saltando sobre él, te lo dejo aquí abajo: kzbin.info/www/bejne/j2SQYZZnbNB9mbM
@javiertrejotinajero9247
@javiertrejotinajero9247 2 жыл бұрын
Buen video, buen tema y acerca de ello: porqué y como evitar que al pegarse a "una pared" que tiene un collider, el player se queda pegado a ella sin poder bajar o caer y "pausando" la animación? intente aumentar la gravedad al entrar en contacto con dicha pared pero esto no lo arregla de la mejor manera ni en toda ocasión.
@BravePixelG
@BravePixelG 2 жыл бұрын
La manera más común de solucionar este problema es con un material de físicas 2D (Physics Material 2D), este lo puedes crear en tu proyecto, colocar la fricción a 0 y agregarlo a los colisionadores o al rigidbody para que el personaje no se quede pegado.
@javiertrejotinajero9247
@javiertrejotinajero9247 2 жыл бұрын
@@BravePixelG¡Gracias!
@pablomartin6013
@pablomartin6013 2 жыл бұрын
Me detecta las collisiones pero quiero que bloquee el paso y el player atraviesa, que puede ser?
@BravePixelG
@BravePixelG 2 жыл бұрын
Para que las detecte y no pueda pasar debe estar desactivada la palomita de trigger, en muchas ocasiones ocurre que si el movimiento es muy rápido no logra detectar las colisiones o si el movimiento es por celdas no se puede hacer directamente con un colisionador porque no tiene un espacio de tiempo para detectar la colisión
@endergutierrez2961
@endergutierrez2961 Жыл бұрын
Aca una pregunta amigo. podrías dar unos ejemplos? Seria colisión entre habilidades. Ejemplo 1) dos habilidades chocando, bola de fuego nivel 1 bola de roca nivel 1. Ambas viajado a su objetivo y al colisionar se destruyen entre si. ejemplo 2) dos habilidades chocando, bola de fuego nivel 1 bola de roca nivel 2. Ambas viajado a su objetivo y al colisionar como la bola de roca es "nivel 2" destruye la bola de fuego y la bola de roca sigue a su trayectoria. Ejemplo 3) este seria como un ventaja el fuego le gana al viento, el viento al rayo, el rayo a la tierra(bola de roca), la tierra le gana al agua, el agua le gana al fuego. Entonces si dos habilidades choca entre esto parámetro una bola de fuego nivel 1 colisiona con una bola de viento nivel 4. Ambas viajado a su objetivo y al colisionar como la bola de fuego "nivel 1" tiene ventaja de nivel 5+ destruye la bola de viento y la bola de fuego sigue a su trayectoria. pero si la bola de viento es nivel 7 el caso seria diferente seria la bola de viento que ganara contra la bola de fuego- En resumen: - fuego nivel 1 + 5 nivel de ventaja solo contra el viento =fuego nivel 6 contra viento nivel 4. Viento Lose -fuego nivel 1 + 5 nivel de ventaja solo contra el viento =fuego nivel 6 contra viento nivel 7. Viento Win. Soy novato muy novato en unity 3d estoy trabajando en un proyecto 2d.
@cyanPobre
@cyanPobre Жыл бұрын
tendrias que poner colision a cada proyectil. Y ya despues poner un script a cada uno, donde digas que si el elemento con x tag hace contacto, se detruya el gameobject acorde a cada caso de tu ejemplo.
@cristiancarrazana3131
@cristiancarrazana3131 3 ай бұрын
NullReferenceException: Object reference not set to an instance of an object CombatDummyController.Start () (at Assets/CombatDummy/CombatDummyController.cs:27)
@tonyMasterdj
@tonyMasterdj Жыл бұрын
y como seria si se ignora la colisión.
@lordorochimaru8415
@lordorochimaru8415 2 жыл бұрын
GRACIAAAAAAAAS
@josecastroantonio
@josecastroantonio 3 жыл бұрын
*01:41** Colisiones "trigger"*
@BravePixelG
@BravePixelG 3 жыл бұрын
¿Tienes alguna duda?
@ScotBZ
@ScotBZ 3 жыл бұрын
a mi no me funcionas las colisiones no las detecta unity
@BravePixelG
@BravePixelG 3 жыл бұрын
Debes asegurarte de usar los rigidbody y las funciones para 2D o 3D según sea el caso
@ScotBZ
@ScotBZ 3 жыл бұрын
@@BravePixelG lo estoy haciendo en 3d, uso el charactercontroler le puse el rigidbody a mi player y al objeto y nada no me sale el debug, pero con el ontriggerenter si me sale el debug
@BravePixelG
@BravePixelG 3 жыл бұрын
Si estás usando el 3d debes tener en cuenta que los métodos no pueden tener el 2d en el script, además de la palomita de trigger para detectar un colisionador con ontrigger y sin esta para el oncollision
@ScotBZ
@ScotBZ 3 жыл бұрын
@@BravePixelG se mas o menos como usar el trigger y el OnTriggerEnter pero lo que me esta causando problemas es el OnColliionEnter ya que no detecta la colisión y no entiendo el porque
@ScotBZ
@ScotBZ 3 жыл бұрын
@@BravePixelG JAJAJA MAAAAAAAAAAN cree una nueva scena lo probé y funciono XD
@octaviolucardifierro1392
@octaviolucardifierro1392 2 жыл бұрын
Muy buen video, me ayudo mucho, pero ¿Cómo podríamos hacer para colisionar 2 objetos con la misma etiqueta y que solo uno se destruya?
@barttv7067
@barttv7067 2 жыл бұрын
sumale otra condicion a la collision y que solo uno de ellos la cumpla asi solo se te destruye uno
@samuelboadas8333
@samuelboadas8333 2 жыл бұрын
Tengo una duda. En mi juego cuando colisiono con un objeto desde abajo o arriba la mayoría de las veces no detecta ninguna colisión (Mi personaje no puede pasar, pero no me muestra el mensaje por consola), en cambio cuando colisiono por izquierda o derecha sí que lo detecta sin problema y me muestra el mensaje por consola. Es un juego con vista topdown
COLLIDERS y TRIGGERS en UNITY
9:31
Kostas
Рет қаралды 35 М.
Cómo crear disparos 2D en Unity (Por Prefabs)
7:21
BravePixelG
Рет қаралды 27 М.
Арыстанның айқасы, Тәуіржанның шайқасы!
25:51
QosLike / ҚосЛайк / Косылайық
Рет қаралды 700 М.
Tuna 🍣 ​⁠@patrickzeinali ​⁠@ChefRush
00:48
albert_cancook
Рет қаралды 148 МЛН
The Best Band 😅 #toshleh #viralshort
00:11
Toshleh
Рет қаралды 22 МЛН
My scorpion was taken away from me 😢
00:55
TyphoonFast 5
Рет қаралды 2,7 МЛН
Cómo crear un enemigo que dispara en Unity
11:04
BravePixelG
Рет қаралды 6 М.
CÓMO CREAR ENEMIGOS DE FORMA ALEATORIA EN UNITY - SPAWN DE ENEMIGOS U OLEADAS
9:51
BAM APPS - Tutoriales en español de Unity
Рет қаралды 121
Cómo crear transiciones entre escenas con animaciones en Unity
10:05
Cómo crear un puntaje en Unity (Sistema de puntos)
8:52
BravePixelG
Рет қаралды 34 М.
Unity - Crear menu principal en 10 MINUTOS
10:03
Don Pachi
Рет қаралды 23 М.
I Wish I Had Known This Before I Started Unity Game Development...
11:11
Cómo agregar luces a nuestros juegos 2D en Unity
8:28
BravePixelG
Рет қаралды 17 М.
Арыстанның айқасы, Тәуіржанның шайқасы!
25:51
QosLike / ҚосЛайк / Косылайық
Рет қаралды 700 М.