Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Iluminacion Del Ut2003

Iniciado por DraKKaR, 05 de Septiembre de 2003, 12:25:20 AM

« anterior - próximo »

DraKKaR

 He estado jugando ultimamente al Unreal Tournament 2003 y tambien al Unreal 2 (que usa el mismo motor). Una cosa que me llamo poderosamente la atencion (incluso antes de haberlo jugado) es el modelo que usa de iluminacion. Lo primero en que me fije es en las sombras que genera el escenario. Nada mas verlas, el ojo adiestrado XD, sabes que se trata de lightmaps. Pero lo que me dejo asombrado es la gran resolucion y definicion que a simple vista parecen  tener esos lightmaps. Ves escenarios donde hay escaleras, y estas probocan sombras en la geometria con demasiada calidad y nitidez para ser lightmaps. Esto puede llevar a pensar que han utilizado el metodo tradicional de lightmapping con lightmaps a una resolucion muy burra. Pero esto no creo que pueda ser por la gran cantidad de poligonos de un juego asi, maxime con la cantidad de poligonos que debe tener ese juego.
Encima hay zonas (poligonos) que los ves y te da la sensacion de que no son lightmaps, sino simplemente iluminacion por vertice.
Todo esto me ha llevado a pensar en una posible mejora al metodo tradicional de los lightmaps (mejora que probablemente se haya llevado a cabo en este engine).

En los lightmaps tradicionales los lightmaps se aplican sobre toda la geometria que forma el mapa. Esto tiene un problema: hay zonas que no necesitan lightmap, porque su superficie tiene casi toda la misma intensidad y simplemente con iluminacion por vertice se podria haber llevado a cabo.

La idea es mejorar esto aplicando el lightmap solo a los poligonos cuya iluminacion requiera el nivel de detalle que puede darel lightmap, si no.. usar iluminacion por vertice precomputada y listos.
Esto se podria hacer de una manera relativamente sencilla de la siguiente manera: calcular los lightmaps de todos los poligonos a una resolucion bestial. Despues estudiar cada lightmap para cada poligono generado, y determinar si se requiere un lightmap para el. Sino, descartarlo. Finalmente en teoria deberian quedar una cantidad reducida de poligonos que requieran ligthmap. De esta manera puedes aplicar lightmaps de grandes dimensiones, como los que parece que tengan los del UT2K3.

No se si este tema ya habra sido tratado en algun lugar o algo, pero ahi va. ¿Que opinais de todo eso?

dedalo

 hola
haber si esto puede ayudarte :huh: , creo q habla de las caracteristicas del engine y menciona el tema de la luz.


http://www.silveribex.com/mt/archives/000022.html

espero te sirva

Tei

 Ahora voy a leer ese articulo, pero asi de primeras... ¡con lightmaps se pueden hacer virguerias!. Stainmaps, iluminacion de colores, etc..  y si quieres lightmaps detallados, unicamente es cuestion de tener suficiente memoria, o un sistema muy dinamico (para devolver memoria y coger mas o reutilizarla). Osea, no hay que extrañarse mas de que los lightmaps aguanten y subsistan aun, son una buena idea :D

imhhho.

Javi SJ Cervera

 Ciertamente, Unreal2/UT2K3 mezcla lightmaps con vertex lighting...

La forma novedosa de diseñar los niveles son los llamados "static meshes" k usa el engine. Se trata de modelos creados con MAX con alto número de polígonos y que se colocan como "detalles" en el nivel con el editor de mapas. En una comparación que leí en los foros de Blitz3D (por dodne deambula EpicBoy, que como su nombre indica trabaja en esa compañia y evidentemente estuvo envuelto en el desarrollo del juego), la geometría creada desde el UnrealEd tendría un número de polígonos no superior al que podría tener un mapa de, por ejemplo, Quake o Half-Life (probablemente era una afirmación un tanto exagerada).

El hecho es que una vez tenían esta geometría creada (la tarea más importante de esto es definir los portales y las áreas o habitaciones), entonces comienzan a "pegar" static meshes en todas partes, los cuales añaden gran detalle a los escenarios: ordenadores, tuberías k cuelgan, y todo tipo de florituras. Estos static meshes proyectan sombras sobre todo el escenario, en cambio, ellos no reciben lightmaps, sino iluminación por vértice. Al tratarse de mallas bastante detalladas en cuanto a número de polígonos se refiere,  tienen suficientes vértices como para k tengan un sombreado convincente.
== Jedive ==

MChiz

 Y eso no es simplemente un modelo de instancias?

Jikan

      Aunque desconozco cómo se usan los lightmaps en Unreal, no creo que haya que usarlos en toda la geometría. Cuando se generan los lightmaps, sólo se generan para aquellos polígonos iluminados por las luces que el diseñador de niveles ha estimado oportunas y si hay polígonos no afectados por la luz no tienen lightmaps y por tanto no se utilizan.

    En Quake los lightmpas se usan tanto para la iluminación estática (uso digamos "clásico" de los lightmaps) como en efectos de luces "animadas": parpadeos simulando tubos de neón que no funcionan bien, luz de una antorcha en la pared, etc. En Quake también se simulan las luces dinámicas modificando el lightmap de los polígonos afectados por dicha fuente de luz en tiempo real. También se usa la técnica de superponer varios lightmaps, para crear, por ejemplo, el efecto de apagar ó encender una luz.

    Los efectos de "nueva generación" creo yo que usan más bien texturas (sí, ya se que los lightmaps son una "versión" del uso de multitextura), consiguiendo una iluminación por pixel gracias a la aplicación de una ó varias texturas de "iluminación" además de proyectando texturas (por ejemplo, para conseguir efectos especiales con spotlights), siempre por pixel. Con ayuda de los fragment shaders se podrán crear efectos mucho más sofisticados e incluso crear modelos de iluminación diferentes.

    Lo mejor de todo es que se pueden implementar los modelos de iluminación "de libro" y olvidarse de los trucos. De hecho, se espera que los lightmaps caigan en desuso en favor de efectos de luz dinámica mucho más realistas en los engines de futura generación.

    Ahora los truquillos habrá que emplearlos en modelos de iluminación global en tiempo real ;-)

          Un saludete.






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.