Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Plataformas con collider y rigibody 2D

Iniciado por fdagnino, Mayo 07, 2015, 10:12:42 PM

Tema anterior - Siguiente tema
Estimados, tengo una consulta para ver si me pueden orientar...
 
supongamos que tengo un juego de plataformas donde el personaje va corriendo, y que cuando toco la pantalla el mismo salta obstaculos, agarra bonus, sube a plataformas, etc...
 
El tema es como hacer para que el personaje pueda saltar a una plataforma desde abajo sin colisionar con el rigibody, pero a su vez que el mismo quede por ensima de la plataforma???
 
Saludos

no se puede colisionar con el rigidbody, puedes colisionar con la malla. Puedes hacer que cuando esté encima del objeto se active el box collider o lo que tengas.

Antes de Unity 5 habían varias soluciones con Triggers, posiciones relativas del jugador respecto a la plataforma, etc... por suerte en Unity 5 nos hacen las cosas todavía más fáciles    aquí te dejo un enlace al manual del Platform Effector 2D:
//docs.unity3d.com/Manual/class-PlatformEffector2D.html" rel="external nofollow">http://http://docs.unity3d.com/Manual/class-PlatformEffector2D.html

Interesante unity 5, voy a actualizar y ver como funciona!
Muchas gracias por la sugerencia!
Saludos

Por si acaso no borres la versión instalada que tengas, portar de la 4.x a la 5 a veces trae errores...

Mayo 09, 2015, 08:50:49 AM #5 Ultima modificación: Mayo 09, 2015, 09:00:56 AM por kaito
Cita de: fdagnino date=1431029562El tema es como hacer para que el personaje pueda saltar a una plataforma desde abajo sin colisionar con el rigibody, pero a su vez que el mismo quede por ensima de la plataforma???
 
 
Lo puedes hacer de dos formas bastante sencillas:
 
1) Le cambias el Layer al player cuando salta, por uno que no colisione con la plataforma. De esta forma sigue detectando colisión con enemigos, pero no detecta plataforma.
 
o
 
2) Haces 'Trigger' al collider del player cuando salta. De esta forma detecta colisión pero traspasa al resto de objetos(enemigos, plataformas, ...).
 
 
Y un tercero un poco más complicado:
 
3) Lanzas dos rayos(RayCast) uno arriba y otro abajo, y asignas un Layer "pasable" a la plataforma de arriba, y un Layer "no pasable" a la plataforma de abajo.

Yo creo que lo mas sencillo seria añadir un script a la plataforma que desactive el collider si la posicion y del personaje es menor que la de la plataforma

Son todas ideas buenas! por ahora probe con Unity5 y me simplifico mucho, por no decir que todo! jaja
 
Lo unico que ahora luego que el gameObject sube por asi decirlo a la plataforma que tiene arriba, queda rebotando, a que se debe esto? Hay alguna propiedad que debo configurar?
 
Muchas gracias a todos!

Etiquetas: