Ahoy!
Estoy buscando información sobre mapas de mosaicos, o más bien, cómo se llama un tipo específico de mapa de mosaicos.
Estoy interesado en el tipo de implementación utilizada en el magnate de la montaña rusa, o en la serie de juegos de magnate del transporte y he estado investigando el terreno del campo vectorial y el terreno del mapa de altura, pero no estoy seguro de que sean adecuados para lo que estoy buscando desarrollar.
Ha sido difícil encontrar información decente, ya que la mayoría de las personas se refieren a ella como un mapa de mosaico isométrico, pero estoy buscando crear algo en 3D con una perspectiva ortográfica fija. Entiendo que el almacenamiento subyacente del mapa de mosaicos no tiene nada que ver con cómo se representa, pero no estoy buscando crear un mapa de mosaicos 2D como los juegos de pokemon / zelda de la vieja escuela, más en la línea de diablo con la capacidad de incluir acantilados colgantes y terreno inclinado.
Solo estoy tratando de encontrar los términos correctos para buscar en google y stackoverflow recursos que me ayuden a decidir qué camino seguir.
Hasta ahora, he logrado desarrollar un mapa de mosaico básico sin usar el componente de altura / y almacenado en un VBO y representado como una estructura alámbrica. Esto se ve bien hasta ahora, pero imagino que tendré problemas al tratar de manipular un solo vértice para crear acantilados y pendientes sin afectar a un mosaico vecino.
¿Hay algún tipo específico de implementación que debería investigar? Pensé que lo había descifrado cuando encontré una buena cantidad de información sobre el terreno del campo vectorial, pero tampoco estoy seguro de que esto arroje los resultados correctos.
Si alguien puede arrojar algo de luz sobre esto por favor, la ayuda sería muy apreciada :)
Actualizar
He incluido una imagen para obtener más aclaraciones sobre lo que me gustaría lograr:
Imagen tomada de Cómo crear mosaicos isométricos inclinados (altura)
Esta imagen muestra el tipo de terreno que me gustaría generar pero no incluye los "acantilados" o los tipos de terreno sobresalientes que estoy interesado en modelar. Sin embargo, plantea algunas otras preguntas que no había considerado, a saber;
- ¿Cómo se manejarían las 'capas' como el agua (arriba a la izquierda de la imagen) para incluir el suelo visible debajo del agua?
- ¿Cómo se atenderían los "bordes" del mapa para que la tierra / barro represente al mundo como una entidad no plana?
- ¿Podría usarse el almacenamiento subyacente para este tipo de terreno para modelar la física, como una pelota rodando por una colina o las velocidades de movimiento de un jugador que atraviesa una pendiente?
Tenía la idea de que cada mosaico del terreno podría modelarse con 8 vértices donde los 4 vértices principales cubren el mosaico real y los 4 vértices restantes se usan para modelar los lados / paredes de cada mosaico. Los dos problemas que veo con esta implementación son que a) el mapa mundial tiene un tamaño esencialmente doble yb) dado que no todos los mosaicos incluirán "paredes", algunos mosaicos terminarán con vértices redundantes que no se utilizan.
Me gustaría crear un editor de terreno que permita que cada ficha se deforme y que incluya la posibilidad de cambiar el terreno durante el juego. Esto en sí mismo plantea preguntas adicionales como; ¿Se puede usar un VBO para almacenar y renderizar el terreno mientras se modifica sobre la marcha y también, es posible modificar los vértices sin afectar las fichas vecinas?
Tengo la impresión de que estoy complicando demasiado las cosas o me encuentro con parálisis de análisis, ya que no estoy escribiendo ningún código para resolver el problema sin tener una idea clara de cómo lograr lo que quiero.
Nuevamente, realmente estoy buscando un empujón en la dirección correcta con esto. ¿Existe un tipo específico de implementación de mapa de mosaico / terreno que se adapte a un mapa 3D que se deformará tanto por un editor de mapas como durante el juego o tengo que rodar el mío, por así decirlo? No estoy tratando de reinventar la rueda aquí, pero estoy luchando por encontrar recursos dado que no estoy seguro de qué buscar.
Si alguien puede proporcionar información, recursos o fragmentos de código, eso sería muy apreciado ya que estoy ansioso por ensuciarme las manos y comenzar a producir algo más que la estructura plana que tengo actualmente.
¡Gracias por leer!