Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: 0c0de en Diciembre 14, 2016, 02:13:11 PM

Título: como podria hacer que un player fuese alrededor de una figura?
Publicado por: 0c0de en Diciembre 14, 2016, 02:13:11 PM
Vereis estoy haciendo un juego pero lo quiero mejorar el juego en si es sencillo tienes un nivel (el primero es un circulo) y un jugador tambien un circulo pues el circulo rota alrededor del nivel destruyendo los enemigos que aparezcan, bien ahora quiero añadirle un nivel para que cuando llegue a X puntos cambie y este sera un cuadrado pero el problema viene en que no se como hacer que se mueva por el cuadrado es decir por los bordes solo
Título: como podria hacer que un player fuese alrededor de una figura?
Publicado por: lightbug en Diciembre 14, 2016, 03:12:22 PM
Hola, el metodo que uses para recorrer el borde de un cuadrado puede variar segun el tipo de juego que tengas, el tipo de personaje y de que componentes tenga este. Osea, no es tan facil de reponder con ponele esto y aquello y estas, incluso hay juegos que se basan casi completamente en este tipo de mecanicas.
 
Los caminos que se me ocurren ahora (seguramente hay muchos mejores) podrian ser usar raycast, con tres rays apuntando al suelo (tipo groundcheck), si uno no capta nada sabes en que esquina del cuadrado estas(de las dos que podes estar, izq o der), si luego de esto sucede que el ray del centro no capta nada (te saliste del cuadrado) posicionas el jugador en la cara correspondiente del cuadrado y empezas de nuevo. Si tu personaje salta y demas ya la cosa cambia porque tenes gravedad, de las fisicas del motor o simulada por vos, no importa, ahi ya tenes que tener en consideracion algunos aspectos (que los vas a resolver por prueba y error como se resuelve todo).
 
Otro es si conoces las dimensiones del cuadrado, y tenes registro de en que posicion de la cara estas con tu jugador podes chequear si este supero un cierto valor y cambiarlo de cara.
 
Otro podria ser si tu player es un rigidbody aplicarle una gravedad hacia el centro del objeto, ya se independiza de la forma geometrica pero si es un cuadrado y estas cerca de los bordes el player se va a arrastrar hasta el centro de la cara lo cual no es deseado.
 
 
Título: como podria hacer que un player fuese alrededor de una figura?
Publicado por: 0c0de en Diciembre 14, 2016, 03:19:18 PM
Yo tambien habia pensado en poner dos raycast y hacerlo por ese metodo pero he preguntado aqui mas que nada por saber si habia algun metodo menos engorroso que ese de todas maneras gracias por la respuesta hare lo del raycast al final
Título: como podria hacer que un player fuese alrededor de una figura?
Publicado por: lightbug en Diciembre 14, 2016, 03:31:18 PM
Lo bueno del raycast es que podes tomar la normal del suelo para moverte e implementar niveles de todo tipo, hexagonos, cuadrados, hasta circulos
Título: como podria hacer que un player fuese alrededor de una figura?
Publicado por: 0c0de en Diciembre 14, 2016, 09:12:11 PM
Como que tomar la normal del suelo me puedes explicar eso? por favor
Título: como podria hacer que un player fuese alrededor de una figura?
Publicado por: lightbug en Diciembre 15, 2016, 12:15:15 AM
El vector normal, un vector perpendicular al "suelo". conociendo dicho vector y el vector z relativo a tu transform (para 2D) podes hacer el producto vectorial de estos dos y obtenes un vector perperdicular a estos dos ---> la direccion paralela a cada cara donde estas parado.