En Unity, me gustaría generar un mapa 2D a partir de un archivo de imagen grande (9650 12573). Ya tengo un generador de mosaicos/piezas de imágenes pero genera 1900 imágenes 256 256, y parece difícil crear un mapa a mano como este (y tengo más de una imagen grande para procesar...).
Estas piezas de imagen se ordenan así:
x/y.png
Donde x comienza de izquierda a derecha e y de arriba a abajo.
Como me sugiere MelvMay aquí , debería usar texturas para lograr eso, pero ¿cómo?
¿Tienes alguna idea de cómo lograr eso programáticamente? ¿O puede ser con un paquete existente?
¡Muchas gracias!
[editar] Como solución alternativa, probé esto:
public class MapGenerator : MonoBehaviour { private Renderer m_Renderer; private Texture2D m_MainTexture; // Use this for initialization void Start () { //Fetch the Renderer from the GameObject m_Renderer = GetComponent<Renderer> (); m_MainTexture = LoadPNG("Assets/Tiles/Ressources/Map/0/3.png"); m_Renderer.material.mainTexture = m_MainTexture; } private Texture2D LoadPNG(string filePath) { Texture2D tex = null; byte[] fileData; if (File.Exists(filePath)) { UnityEngine.Debug.Log(filePath); fileData = File.ReadAllBytes(filePath); tex = new Texture2D(2, 2); tex.LoadImage(fileData); //..this will auto-resize the texture dimensions. } return tex; } }
Pero incluso si lo aplico en un objeto vacío, solo veo mi textura dinámica en el inspector, no en la escena cuando presiono ejecutar...