Página 1 de 3 123 ÚltimoÚltimo
Resultados 1 al 10 de 27

Tema: Lightmaps UDK

  1. #1
    Usuario completo
    Fecha de ingreso
    Feb 2012
    Mensajes
    284
    Gracias (Dadas)
    98
    Gracias (Recibidas)
    30

    Lightmaps UDK

    Hola, a ver si alguien me puede echar un cable con el siguiente problema. Quisiera saber si lo que muestro a continuación es evitable o no.

    Como se puede observar en la siguiente imagen, dispongo de un cubo con su correspondiente normal para biselar los bordes:

    Clic en la imagen para ver su versión completa. 
Nombre: 02.jpg 
Visitas: 456 
Tamaño: 301.5 KB 
ID: 186871
    Clic en la imagen para ver su versión completa. 
Nombre: 06.jpg 
Visitas: 361 
Tamaño: 454.1 KB 
ID: 186875

    Este cubo tiene un smoothing group para cada cara:

    Clic en la imagen para ver su versión completa. 
Nombre: 03.jpg 
Visitas: 381 
Tamaño: 244.2 KB 
ID: 186872

    También dispone de dos canales UVS, uno para las texturas comunes y otro para él lightmap:

    Clic en la imagen para ver su versión completa. 
Nombre: 04.jpg 
Visitas: 311 
Tamaño: 253.2 KB 
ID: 186873
    Clic en la imagen para ver su versión completa. 
Nombre: 05.jpg 
Visitas: 246 
Tamaño: 250.6 KB 
ID: 186874

    Y ahora viene el trágico desenlace.

    Resulta qué a este cubo cuando UDK le calcula la iluminación para la creación de los lightmaps.

    Clic en la imagen para ver su versión completa. 
Nombre: 01.jpg 
Visitas: 342 
Tamaño: 316.0 KB 
ID: 186870

    Le aparecen malditas Seam.

    Mi pregunta es: ¿es posible evitar esto y que se sombre bien? Hice una prueba en 3DMax, bakeando un lightmap allí, y pude ver que cuando se usan resoluciones muy pequeñas ocurre lo mismo, sin embargo, con resoluciones más altas no ocurre. En UDK en cambio si me ocurre con resoluciones altas también. Como mejor he podido comprobar que se muestra es cuando cálculo la iluminación sobre los vertex.

    Las imágenes que he puesto, tienen la luz calculada con indirect normal influence bost a 0.

    Otra cosa qué me llama la atención, es el tema de los mirrors y las seams en estos casos. Mirando la wiki de polycount sobre NormalMap me encuentro con lo siguiente: If the mirror seam runs along the surface of a continuous mesh, like down the center of a human face for example, then it will probably create a lighting seam.

    In Epic GamesUnreal Engine 3 (UE3) their symmetrical models commonly use centered mirroring. Epic uses materiales that mix a DetailMap with the Normal Maps; these sem to scatter the diffuse/specular lighting and help minimize the obviousness of the mirror Seam. For their Light Mapped models they use a technique that can almost completely hide the mirror seam.
    Y dejan un link a este enlace: http://udn, epicgames.com/Thre/LightMapUnwrapping.html.

    Yo por lo menos no he encontrado en el enlace que hable de una técnica para bakear correctamente los lightmap en los modelos mirror. ¿Alguien sabe algo sobre esto también? Gracias de antemano y un saludo.

  2. #2
    Usuario Legendario
    Fecha de ingreso
    Oct 2004
    Mensajes
    1,447
    Gracias (Dadas)
    147
    Gracias (Recibidas)
    426

    Lightmaps UDK

    Hola, en el mismo enlace que colocaste, tienes una solución. Al menos creo que tus problemas en el bakeo del ligthmap, puedan ser debido a qué tienes desplegado el objeto Box, con cada cara en un UV chart distinto, (como cuando usamos el Unwrap a saco con el desplegado automático flatten mapping, es lo mismo que lo que llaman UV islands, pero los chart son consecutivos en sus vértices, es decir, pueden coserse entre ellos) que quiere decir esto. Que deberías coser las caras contiguas unas a otras (con una caja es extremadamente sencillo si sabes como) eliminando la mayoría de costuras (seams) posibles.

    Esto es para evitar en cierto modo el bleding de color entre costuras cercanas, al ir mapeado el efecto de oclusión, aunque intentamos aprovechar el espacio, a veces no dejamos suficiente entre islas distintas. En el editor de Unwrap, si seleccione las caras contiguas (control+A) y vas a los iconos de tu derecha, veras unos que ponen weld selected subobject, seams o any match selected, a veces no funcionan por que tienen que reorientar las caras para qué sus vértices coincidan y te hace un destrozo. Es mejor, ya te digo, si sabes moverte por el Unwrap, que muevas las caras y las coloques a mano, ayudante si quieres del Snap (tecla S) en max y luego control+S para activar el Snap en Unwrap, ojo, deja de ser guardar escena mientras estes dentro del editor de Unwrap y solo sirve para conmutar el Snap (el icono lo veras en la esquina inferior derecha del desplegable edit Unwrap).

    Una vez tengas los vértices consecutivos o relacionados de cada cara una al lado de otra, (que suelen verse de color azul cuando están relacionados, aunque sean de caras distintas) seleccione todos y haces control+W (es lo mismo que ir al panel superior en tools y buscar control+W) esto suelda los vértices siempre que formen parte de la misma arista en tu objeto (recuerda se ponen azules) cuando sueldas estos, la nueva arista deja de ser un seams abierto (verde fuerte claro) y pasa a ser un verde más flojo, casi amarillo.

    Otra historia, pueda ser que tuvieras un problema por lo mismo, en caso de que usaras un normal map (no manejo bien esta parte, pero hay quien bakea usando un chamfer en los bordes para evitar artefactos) y luego lo elimina para él objeto a exportar a udque como static mesh. Recuerda usar el UV map 1 en udque creo equivale al 0, para él ligthmap. Y el 2 para la textura. En http://www.gameartisans.org/forums/antiguoforo/ y http://www.polycount.com/forum/ vas a encontrar mucha información al respecto mejor de lo que te puedo explicar, ya que no entiendo mucho, aunque pueda parecer.

  3. #3
    Usuario Legendario
    Fecha de ingreso
    Oct 2004
    Mensajes
    1,447
    Gracias (Dadas)
    147
    Gracias (Recibidas)
    426

    Lightmaps UDK

    Continuo otro poco, con las cosas que me deje sobre el mirror en el normal map y el ligthmap. Otra solución, cuando un objeto se puede modelar de forma simétrica, también se puede mapear de forma simétrica, es decir, cada lado desde el eje, lleva las mismas texturas, esto puede ser una ventaja, y una desventaja dependiendo del modelo, que es que los detalles de cada lado en cuestión de textura evidentemente son idénticos. Otra es el ligthmap, que no funciona creo en objetos con geometría solapada en sus UVS (como sabrás al trabajar en simetría y mapear un lado de nuestro modelo, las caras simétricas comparten el mismo espacio UV por solapamiento, u overlap) la única solución de dos posibles, es separar las caras solapadas generando un segundo canal UV, donde estará desplegado todo el objeto, pero para bakear aquí nuestro ligthmap. El resto de texturas, continuara perfectamente en el otro canal, diffuse, normap, especular. Otra opción, que también funciona, es tomar las caras solapadas, en el Unwrap, funciona perfectamente la herramienta select overlapped faces en el menú superior select, teniendo únicamente el subobjeto polygon seleccionado, pues es lo único que reconoce por geometría solapada. Una vez tienes las caras en rojo indicadas como solapadas, las mueves a un chunque distinto fuera de las coordenadas 0,0 del Unwrap. (lo que es el recuadro azul de seguridad que enmarca la zona de despliegue de nuestro uv) y haciendo click en el icono inferior izquierdo que dice algo, así como adsolute relative type in (es un icono que parece un punto de mira) hacemos click en él y lo cambiamos a coordenadas absolutas. Ahora podremos desplazar las caras solapadas a un chunque distinto, en U. V,W, son las casillas contiguas a este icono. Si, por ejemplo, ponemos (nos movemos) en valores en el eje U, de -1, desplazamos esas caras al chunque consecutivo a la izquierda, si fuese 1 lo haría a la derecha. De este modo, aunque las caras salen fuera del recuadro original, recuerda qué el Unwrap también funciona por repetición en patrón de la textura qué colocamos aquí (tile) de hecho, es una herramienta más para texturar. Por lo que el ligthmap se colocara por igual a ambas geometría en tu simetría, pero sin tener overlap. Esto también funciona para mapas de normales, ya que, al ser un mapa qué aplica colores según coordenadas, es lógico que muestre artefactos, al invertirse dependiendo de su eje transversal y longitudinal sobre el objeto, por ello, si haces esto antes de bakear las normales, entenderá que son geometrías distintas sin problemas de solapamiento o bleding, y se bakeara bien. Aparte de que al soldar partes simétricas, no cambiara la orientación de los vértices a posterior (otra causa posible que se comenta, de por que se le va la pinza al normal map).

    En algunas ocasiones, funciona invertir en 3dsmax o en Adobe Photoshop si sabes como, el canal verde, sobre todo con coordenadas tangentes.

    Espero explicarme bien, un saludo.

  4. #4
    Usuario completo
    Fecha de ingreso
    Feb 2012
    Mensajes
    284
    Gracias (Dadas)
    98
    Gracias (Recibidas)
    30

    Lightmaps UDK

    Te has explicado perfectamente, es de agradecer la extensa explicación.

    El caso es que lo que comentas ya lo había probado antes. Suelo romperme la cabeza antes de preguntar buscando soluciones y curiosamente obtuve más bleding cuando dejaba el cubo en una única isla, además, en teoría al aumentar la resolución con la que se creaban los lightmaps debería a ver sido suficiente para evitar el bleding y no daba el resultado esperado sin embargo.

    El caso es que como en algunas de estas cosas un mínimo cambio te puede dar un mal o buen resultado, he optado por repetir la prueba de dos formas y el resultado ha sido.

    Clic en la imagen para ver su versión completa. 
Nombre: 07.jpg 
Visitas: 188 
Tamaño: 241.7 KB 
ID: 186883
    Clic en la imagen para ver su versión completa. 
Nombre: 08.jpg 
Visitas: 211 
Tamaño: 247.1 KB 
ID: 186884

    Bastante mejor. Aún se pueden ver un poco las seams, pero no sé si eso ya es normal.

    Más tarde comprobare si con un objeto mirror funciona así o da problemas. Un saludo.

  5. #5
    Usuario completo
    Fecha de ingreso
    Feb 2012
    Mensajes
    284
    Gracias (Dadas)
    98
    Gracias (Recibidas)
    30

    Lightmaps UDK

    He probado un objeto con mirror y no queda bien. Si es cierto que dependiendo de cómo este el objeto orientado a la luz, si tenemos normal influence bost a 0 no aparece seams en ciertos casos, pero depende de cómo este el objeto orientado y me he fijado en las zonas de sombra si se produce seam en la línea qué junta las dos mitades. Según tengo entendido es mejor no usar este tipo de mirror en statics mesh. Un saludo.
    Última edición por Zerouks; 06-10-2013 a las 19:47

  6. #6
    El cabreador
    Fecha de ingreso
    Oct 2002
    Mensajes
    8,779
    Gracias (Dadas)
    1589
    Gracias (Recibidas)
    1328

    Lightmaps UDK

    Zerouks, muchas veces esto es más suerte que otra cosa, pero por si las moscas, mete todo en el mismo canal de suavizado, eso de suavizado automático no, hazlo manual, seleccione todas las caras y las metes en un solo canal y después lanza el normal.

    Lo de los lightmaps mirror, ¿, ezo como es, es imposible hacer un lightmap con un mapeado mirror, quedaría una guarrada, será que ando muy espeso. Saludos.

  7. #7
    Usuario completo
    Fecha de ingreso
    Feb 2012
    Mensajes
    284
    Gracias (Dadas)
    98
    Gracias (Recibidas)
    30

    Lightmaps UDK

    No, si las caras del cubo están puestas así aposta para qué el normal se bake perfectamente. Lo hago así por diferentes razones. Lo malo es que parece que da problemas con los lightmaps. Aunque no debería.

    Pensé que una solución podría ser calcular los lightmaps en el mismo objeto, pero con todo en un smoothing group y luego cargar el de las caras dura y aplicarle a este el lightmap ya creado antes, pero creo que esto no se puede hacer y dependiendo del objeto el sombreado podría quedar mal.

    Por cierto, lo del mirror es en el canal 1 el de las texturas normales. Esto suele dar problemas, aunque en el segundo canal se tenga el objeto mapeado sin mirror. Un saludo.

  8. #8
    Usuario Legendario
    Fecha de ingreso
    Oct 2004
    Mensajes
    1,447
    Gracias (Dadas)
    147
    Gracias (Recibidas)
    426

    Lightmaps UDK

    Efectivamente, el overlap de caras, en este caso, de un objeto mapeado por simetría, da error de lightmap en udk. Tienes que generar otro template con un canal distinto donde si tengas desplegado todo el objeto (por ejemplo, es un metodo), para bakear el lightmap en el. Puedes perfectamente hacer este en udk, no necesitas hacerlo en 3dsmax.

  9. #9
    Usuario completo
    Fecha de ingreso
    Feb 2012
    Mensajes
    284
    Gracias (Dadas)
    98
    Gracias (Recibidas)
    30

    Lightmaps UDK

    Fiz, hice lo que me dijiste de meterlo todo en un smoothing group. Me he dado cuenta con esto que las seams no son por los grupos de suavizado sino por el lugar donde se encuentra la seam en las UVS del canal 1. Por alguna razón interpreta mal el sombreado, aunque el normal este bien hecho y la UV del lightmap también. No lo entiendo.

    Clic en la imagen para ver su versión completa. 
Nombre: asd.jpg 
Visitas: 276 
Tamaño: 592.8 KB 
ID: 186908

    Alguna explicación debe de haber ¿no creéis? Saludos.

  10. #10
    El cabreador
    Fecha de ingreso
    Oct 2002
    Mensajes
    8,779
    Gracias (Dadas)
    1589
    Gracias (Recibidas)
    1328

    Lightmaps UDK

    Si la explicación es que los cortes siempre se van a ver, es imposible quitarlos, por eso se ponen en sitios que no se ven, o se tapan con normals de detalle.

    No sé que pasos sigues, pero si lo has probado todo y no te funciona es que, algo tienes que estar haciendo mal, una cubo es muy simple, no te quiero ver con objetos complejos, si puedes reproducir los pasos uno por uno y en orden genial. Saludos.

Página 1 de 3 123 ÚltimoÚltimo

Temas similares

  1. Unreal engine 4 lightmaps
    Por yimianders en el foro Videojuegos
    Respuestas: 14
    Último mensaje: 17-05-2015, 21:47
  2. Respecto a los lightmaps
    Por Zerouks en el foro Videojuegos
    Respuestas: 6
    Último mensaje: 20-05-2013, 12:36
  3. Curso Blender Online 2009 Lightmaps
    Por oscurart en el foro Lecciones BONUS
    Respuestas: 2
    Último mensaje: 23-07-2010, 13:52
  4. Respuestas: 1
    Último mensaje: 20-05-2010, 17:48