Noticias

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

Minimapa metroidvania

Iniciado por Megadok, Septiembre 02, 2018, 09:13:09 PM

Tema anterior - Siguiente tema
Septiembre 02, 2018, 09:13:09 PM Ultima modificación: Septiembre 02, 2018, 09:14:13 PM por Megadok
¿Me podría alguien orientar en cómo hacer un minimap estilo castlevania o metroid para un juego en 2d? Tengo experiencia de años en Unity pero esto no se por donde agarrarlo.

¿Algún tutorial?
 
 
 
 
 
 

Lo puedes hacer de muchas formas, aunque lo común creo que es presentar la imagen del minimap, formada por tantos recuadros como habitaciones hay, y su disposición, en base a una matriz de tiles. Cuando el player toca un trigger/entra a la habitación, se informa de la actual posición al script del minimap, para que el gráfico de posición del player se muestre en su respectiva casilla.
 
En algunas ocasiones, también me ha parecido ver que hay distintos triggers de zona en una misma habitación, por ejemplo al principio y al final de ésta.
 
Para hacer que parpadee el iconito del player, bastará con modificar en el Update el alpha del gráfico del icono, usando la típica fórmula de Sin(x) por el DeltaTime...
 
 
 
Hay "otra forma" más correcta/profesional de programar el minimap, en lo que mover al iconito del personaje se refiere. Requiere transformar la cantidad de movimiento de nuestro personaje en el juego, y escalarlo a la proporción de lo que debe moverse por cada casilla del minimap. Como digo, el resultado es más pulido, porque se ve como el iconito se va moviendo en todo momento, pero se vuelve un engorro de programar y puede acabar gastando más tiempo del que le quieres invertir, en comparación con el resto del juego.

Saludos
 
No se podría de alguna forma colocar una cámara en una posición donde se vea lo que se quiere mostrar, y mostrarlo a través de un canvas? no se si sea posible me gustaría saberlo...
 
algo así como si fuera en pantalla dividida pero que la vista de una de las cámara sea pequeña y en una esquina, nose si me explico...

Cita de: Javierhakerone date=1535944266No se podría de alguna forma colocar una cámara en una posición donde se vea lo que se quiere mostrar, y mostrarlo a través de un canvas? no se si sea posible me gustaría saberlo...
   


Sí, configurando las capas que verá la cámara, metiendo el render target que te da en una render Texture y eso presentarlo mediante un Raw Image dentro de un canvas
 
Cita de: Megadok date=1535915589¿Me podría alguien orientar en cómo hacer un minimap estilo castlevania o metroid para un juego en 2d? Tengo experiencia de años en Unity pero esto no se por donde agarrarlo.

      ¿Algún tutorial?
   


lo que yo haría es:
 


  •    Transformar el espacio del mapa real al espacio del minimap, por ej el punto tridimensional <12,50,100> ---> <0.25 , 0.8>  del minimap ... esto lo podés hacer con un box 2D de referencia, por programación o simplemente a ojo (quizás medio feo, salvo que tengas las dimensiones preestablecidas). Usé de ej puntos de 0 a 1 , osea 0<=x<=1 , 0<=y<=1.


  •    Poner gráficos al mapa, quizás una gran foto del mapa real modificada en un programa de fotografía o uno de gráficos vectoriales, y finalmente al indicador del player


  •    Como plus podés re-presentarlo de la manera que te guste, la base ya la tenés y es (si hiciste todo bien) fiel al resultado del gameplay. Un ejemplo sería meter todo esto dentro una ventana tipo scroll view, o darle o quitarle zoom, etc.


Septiembre 03, 2018, 02:41:59 PM #4 Ultima modificación: Septiembre 03, 2018, 02:43:39 PM por Igor
Cita de: Javierhakerone date=1535944266Saludos
   
   
      No se podría de alguna forma colocar una cámara en una posición donde se vea lo que se quiere mostrar, y mostrarlo a través de un canvas? no se si sea posible me gustaría saberlo...
   
   
      algo así como si fuera en pantalla dividida pero que la vista de una de las cámara sea pequeña y en una esquina, nose si me explico...
   


colocar una segunda camara para el minimapa es muy poco recomendable de cara al rendimiento.... ya que esa camara tendria tambien que "renderizar" la imagen que ve.... y creo entender que tendria que ver todo el escenario conpleto... lo cual va a ser aun peor para el rendimiento...
 
es mucho mejor que el mapa sea una imagen previamente hecha... con photoshop, gimp, o similar...
 
puedes incluso hacer una captura de pantalla de tu escena en el editor de unity, y utilizarla como minimapa...
 
...y luego si quieres marcar tu posicion en el mapa se puede hacer de muchas maneras...

Gracias, al final he optado por generar una cuadricula que va cargando imagenes cuando clikeo en ella, y así ir formando el mapa.

 

Etiquetas: