Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Auto generación coordenadas UV

Iniciado por KneDa, 18 de Junio de 2010, 11:52:39 AM

« anterior - próximo »

KneDa

Buenas, estoy desarrollando un pequeño editor de modelos 3d aplicando técnicas procedurales y quería saber que posibilidades existen a la hora de autogenerar coordenadas UV en una forma 3d genérica. Bien es cierto que dependiendo del tipo de forma que se trate, un tipo de mapeado funcionará mejor o peor, me refiero a si utilizo algún tipo de proyección concreta, planar, esférica, cilíndrica...

El caso es que sería para aplicar texturas tileables sobre los modelos, que basicamente, serán formas abstractas. He oído por ahí de un tío que utiliza las normales del modelo para el cálculo de las UVs, pero no concreta nada en la explicación de como lo hace...

Si alguien fuese tan amable de indicarme que posibilidades tengo, algún tipo de documento donde se hable de las diferentes técnicas de auto UV, le estaría eternamente agradecido. Saludos a todos, y gracias por adelantado.

tamat

Pues te recomendaría que trasteases con las opciones que trae 3ds studio max sobre el tema, tipos de mapeados.

Si las figuras son cerradas y sin agujeros un mapeado esférico suele funcionar, pasas las coordenadas a polares, aun así te genera artefactos en los polos.

Otra opcion es hacer un unwrap automatico, tambien hay muchos algoritmos para hacerlo, pero si la mesh tiene muchos poligonos es lento (ademas de que programar unwraps suele ser bastante coñazo).

Un truco que no se si aplica a tu caso es el de usar multitextura, cada una con una proyeccion diferente (por ejemplo, una usando XY otra usando XZ otra usando YZ) y usar la normal para definir el factor de interpolacion. Es decir, no es que computes una UV, computas 3 UVS pero a la hora de pintar usas más una o la otra en funcion de si ese poligono está más alineado con el eje. Creo que NVIDIA usaba esto en una de sus demos, la de las cascadas.

Ya diras qué solucion aplicas.
Por un stratos menos tenso

KneDa

Ante todo, muchas gracias por tu respuesta tamat. En principio, de las 3 opciones que tu planteas, la que me pudiera resultar más interesante es la de utilizar un algoritmo de unwrapping a la maya.

Pero el caso es que ando bastante perdido en el tema (por no decir que npi), he intentado un primer approach con google, y lo único que he encontrado al respecto ha sido una vaga definición del algoritmo LSCM, http://en.wikipedia.org/wiki/Least_squares_conformal_map ...

Así que si tu o alguien me pudieseis dar alguna información sobre este tipo de algoritmos existentes... papers donde se explican... sources... realmente me sería muy útil. Realmente intento imaginarme como pudieran funcionar (cual es el principio básico sobre el que se apoyan) , pero no me lo consigo imaginar... supongo que se basarán en algún tipo de algoritmo recursivo que se base en los ángulos entre aristas... pero no entiendo en el criterio que se utiliza para que se subdivida en varios subplanos 2d la malla, o si se puede generar un único plano 2d unwrappeado... ya me comentais... Gracias.

KneDa


Mars Attacks

Siempre puedes bucear por el código fuente de Blender, que tiene un buen montón de técnicas de mapeado UV.

KneDa

Jeje, si la idea mala no es MarsAttack, pero por desgracia no tengo el tiempo ni la paciencia para empezar a destripar/bucear entre los mbs de código fuente de Blender  ^_^'

Cuando he preguntado sobre este tema simplemente quería saber de la opinión de personas que hayan implementado algún tipo de técnica y me puedan explicar las posibilidades que tengo al respecto, y si pudiera ser algunos links de algunos papers al respecto, o simplemente algún source ( concreto :D )

Muchas gracias de nuevo gente ;)






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.