Noticias

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

Infinite runner

Iniciado por R3N3, Febrero 24, 2017, 05:05:29 PM

Tema anterior - Siguiente tema
Hola unityspain. Necesito que si alguien ha creado un juego tipo subway surfer, o si sabe como hacerlo, me ayuden con un problema: en mi juego el personaje se mantiene en el lugar y es el escenario el que se mueve. Genero los segmentos cada cierto tiempo y se mueven a una velocidad determinada hacia el player. La cosa está en que cuando modifico la velocidad ya empiezan a quedar espacios entre los segmentos. Se me ocurren varias formas de intentar arreglar esto pero quisiera saber como es que lo hacen digamos, los que saben de verdad, no como yo un aficionado. Si hay algun video en youtube donde explican eso me pueden dejar el url, yo he buscado pero no he dado con alguno donde expliquen esto. Gracias.

Estuve viendo el juego, parece divertido y super dificil. Por que se tiene que mover el mundo y no solo el jugador con la camara?, al fin y a cabo es todo una ilusion, y ademas evitas calculos innecesarios y otras cosas mas propias de los statics.
 
Cita de: R3N3 date=1487952329Genero los segmentos cada cierto tiempo y se mueven a una velocidad determinada hacia el player
   


A que te refereis con los segmentos? a los espacios entre obstaculos?

A lo que me refiero es que no se como se crea ese mundo aleatorio en el que se juega, el personaje corre y corre y no termina el mundo. Como genero ese mundo, de forma tal que no queden huecos entre el tramo actual en el que se corre y el sigiuente al frente del jugador?
 
En youtube no he encontrado ningun tutorial que explique el proceso de creacion en unity (escenarios, scripts, etc.) solo muestran el resultado final. Si puedes ayudarme con eso te lo agradeceria muchisimo.

Creo que lo que hacen hay es ir cargando y cargando el terreno constantemente, esa es mi idea de como lo haría pero también me interesa saber como se hace :)

Marzo 15, 2017, 08:35:26 PM #4 Ultima modificación: Marzo 15, 2017, 08:36:01 PM por lightbug
Cita de: manux date=1489594363Creo que lo que hacen hay es ir cargando y cargando el terreno constantemente, esa es mi idea de como lo haría pero también me interesa saber como se hace :)
   


Tal cual.
 
Cita de: R3N3 date=1489593648A lo que me refiero es que no se como se crea ese mundo aleatorio en el que se juega, el personaje corre y corre y no termina el mundo. Como genero ese mundo, de forma tal que no queden huecos entre el tramo actual en el que se corre y el sigiuente al frente del jugador?
   


El tema de los huecos lo podes solucionar cargando todo el mundo acordemente o dimensionando tu mundo previamente. Si cargas los tramos por escenas/prefabs necesitas saber donde iria el nuevo tramo, si estas en el tramo 5, debe ir en la pos del tramo 6, ponele, entonces multiplicas por el factor, de forma acorde.
 
Cargar todo la escena 1 loop entero y luego repetirlo no es una posibilidad porque se notaria el cambio y la falta del siguiente loop.
 
Una de las ventajas que tenes es que una vez que algun tramo paso por detras de la camara puede desactivarse (con una cierta distancia o tiempo de seguridad), entonces podes hacer que se vean por ej 2 tramos en adelante. Esos tramos pueden ser prefabs o lo que se te ocurra.
 
Otro dato es que podes hacer lo que se llama object pooling, cargas todos los tramos de una, solo usas los visibles, cuando tenes que habilitar un nuevo tramo, NO lo creas (por q ya lo hiciste) sino que lo activas. Cuando lo pasaste de largo NO lo destruis, sino que lo desactivas, y lo preparas para ser activado cuando le toque en el futuro (1 vuelta entera más) con todas sus animaciones (ej de los trenes) reseteadas y bien de cero. Es para evitar que Unity Cree y Destruya objetos, sobre todo si los tramos tienen muchos prefabs.
 
El juego ese que nombras se debe manejar asi, pero cuando cargas uno estan tan bien medidos los tiempos de los trenes con los tiempos del player que los trenes quedan perfectos como obstaculos para el jugador.
 
No se si exactamente lo hacen asi, pero es lo que yo haría.
 
Saludos
 
 

Etiquetas: