¿Cómo simular iluminación global en motores de render para videojuegos?

darkwin - 25/07/2006 13:54
Buenas, estamos desarrollando un juego que pueda correr en máquinas no demasiado potentes, pero sin descuidar el aspecto gráfico.

Me gustaría que tuviera iluminación global así que, había pensado precalcularla en 3dsmax pero no me apaño muy bien todavía con el render to texture. He estado enredando con el y el principal problema que veo es que no sé si se puede especificar el tamaño de la textura con la iluminación precalculada para cada objeto (los objetos más o menos grandes tendrán texturas de 512x 512, pero los más pequeños tienen que ser de 256 o 12.

Que motor de render usariais? Me gusta mucho el aspecto que da el Vray, pero me preocupa que pueda ser demasiado lento.
Sombra3d - 25/07/2006 14:58
De verdad te merece la pena GI para texturas de 512? Ten en cuenta que luego si cambias cualquier luz u objeto ya no te serviría.
darkwin - 25/07/2006 15:48
Solo es para objetos estáticos. El tamaño de las texturas aún no lo tenemos estudiado, dependerá de lo que soporten las tarjetas gráficas que pongamos como configuración mínima.
Mataii - 25/07/2006 18:45
Pues creo que una posible solución sería que hicieras tu propia iluminación con las luces standard de 3ds Max, el resultado podría quedar muy bien, pero obviamente necesitarás trabajarlo más, y los tiempos de render no estarán tan disparados para obtener el resultado que necesitas.

Por ahí hay varios tutoriales al respecto, no recuerdo exactamente en que página, pero podrías hacer una búsqueda. Saludos.
darkwin - 25/07/2006 22:10
Mi problema es que primero modelos objetos en 3dsmax, los mapeo en ultimate Unwrap y luego monto la escena con los objetos ya texturizados. Después, al intentar hacer el render to texture no puedo usar el mismo canal de mapeado y uso el mapeo automático en el canal 3, pero al exportar los modelos a un archivo.x no me reconoce el mapeo de la textura, solo me lo reconoce si está en el canal 1, pero como ya lo tengo ocupado por la textura inicial, no funciona.

Ayuda.
Mataii - 26/07/2006 00:18

Mi problema es que primero modelos objetos en 3dsmax, los mapeo en ultimate Unwrap y luego monto la escena con los objetos ya texturizados. Después, al intentar hacer el render to texture no puedo usar el mismo canal de mapeado y uso el mapeo automático en el canal 3, pero al exportar los modelos a un archivo.x no me reconoce el mapeo de la textura, solo me lo reconoce si está en el canal 1, pero como ya lo tengo ocupado por la textura inicial, no funciona.

Ayuda.

Vaya, el mapeo automático no lo recomendaría mucho, lo mejor es que tú hagas tus UVS y así aprovechas gran parte del mapa. Por otra parte. ¿por qué no usas el Unwrapuvw del 3dsMax? No está tan complicado como parece, así te evitas esos problemas del uso de canales. Saludos.
darkwin - 26/07/2006 11:19
Hola Matai, la verdad es que empecé usando el del 3ds Max, pero me recomendaron ese prorama y no tiene nada que ver, ahora me he enganchado y no puedo soltarlo. Además, como el juego es en plan dibujos animados (sin llegar a ser cartoon) a veces los mapeados los hago de forma rápida, por ejemplo, mapeados planares en objetos donde solo quiero dar un poco de sombreado en la base como es el caso de las farolas y otros objetos similares. Evidentemente ese tipo de mapeado no sirve para recoger la información del render to texture y la verdad es que el mapeado automático (aunque desperdicia mucho espacio como tú dices) funciona bastante bien.
Jove - 27/07/2006 18:11
No sería más simple. ¿usar el mismo Unwrap tanto para el Lightmap como para el Diffuse? Si es por un asunto de tamaño, solo as de usar texturas más pequeñas para el Lightmap y listo. Donde si te puede dar problemas es si el Unwrap optimizas mucho la textura superponendo partes de la textura (por ejemplo, los 2 lados de un techo en 1, o una misma pared repetida varias veces).

También recuerdo que hace tiempo usando modelos.x para hacer mapas al estilo quake2, cojiamos en uno de los.x las texturas normales con las típicas multiplicaciones tileadas por las caras. Y después de otro.x cojian el Unwrap automático del lightmaps. Podríais mirar es técnica ya que los.x son muy asequibles. Suerte y. No mezcles muchos formatos 3d que siempre pierden (que me lo digan a mi de Wings3d a milkshape3d).
darkwin - 27/07/2006 18:52
Gracias a todos, al final entre unas ayudas y otras lo tengo por fin bajo control. Ya publicaremos cosas en el foro cuando vayamos teniendo algo.

Para el que visite los foros de Stratos publicaremos algo también en el foro de art futura, a ver si llegamos.

Sobre todo, gracias a half Vector y sus scripts de max, ese tío es una pasada.