Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: R3N3 en Noviembre 26, 2015, 06:19:49 PM

Título: Problema con colisiones
Publicado por: R3N3 en Noviembre 26, 2015, 06:19:49 PM
     Hola, necesito ayuda con un juego tipo runner. En la foto superior, estoy chocando por un lado un contenedor, el cual no deberia traspasar, por el techo si colisiona bien. Es el characterController el que choca pero como ven las alas traspasan el cuerpo del contenedor que deberia ser solido. El contenedor tiene un boxCollider y IsTrigger en false, ademas de un rigidbody con restricion de movimiento y rotacion en todos los ejes, asi cuando lo choco el contenedor no se me va rodadndo por ahi. Este problema lo resolvi con codigo, pero quisiera sabersaber si hay una forma mas facil de reesolver el problema. Gracias.    
Título: Problema con colisiones
Publicado por: kaito en Noviembre 26, 2015, 07:38:29 PM
El componente CharacterController incluye su propio collider(una capsula), todo en uno, no utiliza el MeshCollider ni ningun otro Collider externo. Para utilizar el MeshCollider o cualquier otro tipo de Collider necesitas el componente Rigidbody.
Título: Problema con colisiones
Publicado por: R3N3 en Noviembre 30, 2015, 04:45:40 PM
Hola de nuevo. Esa foto que habia puesto no estaba actualizada, ya tenia agregado un rigidbody y seguia igual. Probe quitarle el characterController, deje solo el meshCollider y el rigidbody y muevo la nave asi:if(Input.GetKey( Up, Laft...... ya sabes pulsar el cursor)){transform.Translate(velocidad*Time.deltaTime.... dependiendo de la direccion pulsada);}De esta forma el objeto ejecuta la orden y no choca, atraviesa cualquier objeto mientras pulso por ejemplo left. Cómo harias tu un controller para este tipo de juego.
Título: Problema con colisiones
Publicado por: ftejada en Diciembre 01, 2015, 04:29:12 PM
Debes aplicarle un addForce al rigidbody para que aunque estes pulsando la tecla de direccion que sea (left, right, up and down) siga teniendo en cuenta las colisiones...Con transform.Translate tendras muchos problemas con eso. Vendría a ser algo así:
if(Input.GetKey(....))
{
    Vector3 direccionFuerza = new Vector3(x,y,z);
    getComponent<Rigidbody>().addForce(direccionFuerza *velocidad*Time.deltaTime);
}
Lo suyo es que en el Vector3 direccionFuerza tengas la direccion en la que pulsas las teclas respecto a donde enfoca la camara, para que si pulsas la key left siempre sea la izquierda de donde está enfocando la camara en ese momento. Así es mas intuitivo el control... Si tienes dudas o no entiendes algo preguntame y te lo explico Espero que te sirva, saludos.
Título: Problema con colisiones
Publicado por: R3N3 en Diciembre 07, 2015, 02:08:47 PM
Cita de: ftejada date=1448983752" data-ipsquote="" data-cite="ftejada" class="ipsQuote"> /quote] (//%3CfileStore.core_Attachment%3E/monthly_2015_12/Duda_exp.thumb.png.d216428eddbbb89ef8150edcb37e6b56.png)Hola de nuevo, disculpa la molestia una vez más, pero al ser cubano el acceso que tengo a internet es muy limitado y lento, por lo que el único sitio en el que puedo aclarar mis dudas es este y hasta ahora ha funcionado. Aquí tengo otro problema, nada que ver con el de la nave. Estoy tratando de hacer un juego de fútbol, los jugadores serán estáticos en el campo, el único objeto móvil será el balón, el problema es cómo hacer que el balón se mueva. En la foto editada lo explico mejor, en teoría sería: acerco el mouse al balón y en cierto rango se le podrá pegar, al dar click el balón será impulsado, con cierta furza antes definida, en direción contraria al toque que le demos. Entonces cómo lo ves? De que forma lo harías?
Título: Problema con colisiones
Publicado por: leocub58 en Diciembre 07, 2015, 04:17:14 PM
Hola, primero que nada saludos a mi compatriota! Segundo prueba con addforce y raycasts. Y sino la parte chapucera sería con raycast mover una esfera invisible, le pones un rigidbody al balón y el dedo lo hace todo.
Título: Problema con colisiones
Publicado por: GSG3D en Diciembre 07, 2015, 10:00:36 PM
Podrias mirarlo de arriba e instanciar una flecha que te indique la direccion (girando este con el centro de la pelota y modificando su direccion con Vector Inverse como dices tu, mas magnitud mas fuerza.
Título: Problema con colisiones
Publicado por: R3N3 en Diciembre 08, 2015, 04:54:22 PM
Cita de: leocub58 date=1449501434" data-ipsquote="" data-cite="leocub58" class="ipsQuoteHola, primero que nada saludos a mi compatriota! Segundo prueba con addforce y raycasts. Y sino la parte chapucera sería con raycast mover una esfera invisible, le pones un rigidbody al balón y el dedo lo hace todo.
Hola, probé con Cursor.position o algo asi, (no recuerdo bien ahora), me devolvía un vector, cree un cubo que su posició fuera este vector. De esta forma supuestamente pensé que cuando moviera el mouse, el cubo también lo haría y con él golpearía el balón, en cambio desaparece del campo, lo busqué y está en una posición fija que no se mueve. Cómo podría solucionar esto? Puedo lanzar un ray desde el mouse al campo y allí instanciar el objeto? Si es posible, cómo se hace? Podrías enseñarme? Gracias.