Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: antoniomdk en Diciembre 19, 2015, 05:58:03 PM

Título: Problema UV Procedural Mesh
Publicado por: antoniomdk en Diciembre 19, 2015, 05:58:03 PM
Buenas, os comento. Estoy intentando extruir de un poligono 2D para hacer una malla. La extrusión funciona perfecta pero cuando le pongo un material, las UVs no se adaptan bien. A ver si alguien me puede echar una mano, me gustaria que quedase algo así : https://www.youtube.com/watch?v=kjnyijhilCo (//%5Byoutube%5Dhttps://www.youtube.com/watch?v=kjnyijhilCo%5B/youtube%5D)Y ahora mismo las UVs quedan tal que así:        public static Vector2[] GenerateUV(List<Vector3> verts)
        {
            Vector2[] uvs = new Vector2[verts.ToArray().Length];
            for (int index = 0; index < verts.ToArray().Length; index++)
            {
                var v = verts[index];
                uvs[index] = new Vector2(v.x, v.z).Truncate(1);
            }

            return uvs;
        }

        public static Vector2 Truncate(this Vector2 v, float lenght)
        {
            return v.magnitude > lenght ? v.normalized : v;
        }Muchas gracias de antemano.Saludos. 
Título: Problema UV Procedural Mesh
Publicado por: brok en Diciembre 20, 2015, 05:47:38 PM
creo que tienes que poner el vector y no el z.
uvs[index] = new Vector2(v.x, v.z).Truncate(1);

uvs[index] = new Vector2(v.x, v.y).Truncate(1);
 
Título: Problema UV Procedural Mesh
Publicado por: antoniomdk en Diciembre 22, 2015, 12:52:56 AM
Gracias por tu respuesta brok! También lo probé y lo que cambiaba es que me hacía bien las caras laterales pero las bases del prisma ahora se hacían mal, me estoy volviendo loco jeje
Título: Problema UV Procedural Mesh
Publicado por: Braltor en Diciembre 22, 2015, 01:39:19 AM
en Cubico (//<___base_url___>/topic/34687-asset-cubico-v%C3%B3xeles-modulares/) creo los uv dinamicamente y no es tan difícil nada más tienes que entender los conceptos básicos... pareciera que estas tratando de generar los uv a punta de formula en vez de pensar que es lo que realmente necesitas... como que fuera cuestion de pasar las normales y magnitudes y ya con eso te da la respuesta. comienza organizando las uv de un rectángulo 2d, duplicalas para la cara paralela superior, y piensa como vas a organizar las uv para las caras laterales... cuando lo logres hacer con un cubo entenderás como hacerlo con otras figuras como las que se muestran en el video, donde todos los angulos son de 90º... ah y toma en cuenta que cada cara es un grupo de vectores independiente...
Título: Problema UV Procedural Mesh
Publicado por: antoniomdk en Diciembre 24, 2015, 07:27:21 PM
El problema es que los vértices de esos modelos son aleatorios. Bueno en realidad los vértices del polígono que luego es extruido hacia arriba. Por eso no puedo tener un cálculo para un tipo, necesito algo dinámico. Pero no consigo dar con la clave . También es verdad que no llego a entender bien las UVs...
Título: Problema UV Procedural Mesh
Publicado por: Braltor en Diciembre 24, 2015, 08:05:17 PM
de cualquier manera las formulas no se lanzan a la loca, tienes que entender lo que estas haciendo. por ejemplo cada uv debe corresponder a cada vertice, si pierdes uno tendras un resultado extraño. tienes que separar los vertices para cada cara o tendras texturas jaloneadas como las de la imagenlo que pretendes hacer es proyectar la textura y es MUY fácil resolver eso, es el módulo de la posición del vértice en X-Z, pero creo que tienes más problemas en otros lugares, por eso mejor te dejo que los resuelvas para que entiendas bien. con una matriz ademas puedes agregar opciones para rotar y escalar la proyección... te queda de tarea!