Consejo rápido Optimización de texturas en Unreal Development Kit

En el consejo rápido de hoy, el nuevo autor Ankash Kallyat analizará cómo optimizar las texturas en Unreal Development Kit y algunas de las cosas clave que debe recordar al importar texturas en UDK. Veremos algunas formas de ahorrar memoria extrayendo mapas especulares de mapas difusos, así como trabajando con la configuración LOD para optimizar el juego..

Tutorial republicado

Cada pocas semanas, revisamos algunas de las publicaciones favoritas de nuestros lectores de toda la historia del sitio. Este tutorial fue publicado por primera vez en diciembre de 2011..


Antes de comenzar, me gustaría enumerar los formatos compatibles con UDK. Los siguientes formatos de textura son compatibles:

  • .bmp
  • .pcx
  • .tga
  • .flotador
  • .psd
  • .png

En su mayoría, prefiero TGA, ya que ahora es compatible con la mayoría de los paquetes de software, además de que puede modificar el alfa. A menudo guardo texturas en formato TGA, pero a veces los archivos TGA se guardan en 32 bits y, a veces, con un alfa simple, aunque en realidad no contienen ninguna información alfa.

Esto es muy malo porque UDK importa archivos TGA e intenta comprimirlos con su compresor incorporado conocido como DXTC. Sin embargo, el alfa no está completamente comprimido o, en ocasiones, Unreal Engine 3 no lo comprime. Por lo tanto, es mejor guardar el archivo sin un alfa, si realmente no necesita información alfa en el Unreal Engine. Asegúrese también de que el archivo se guarde con 8 bits por canal en formato RGB / RGBA para evitar complicaciones al importar.

Aquí comenzaré con una textura de follaje simple (la hoja de palma de plátano).

Click para agrandar

Extraer un mapa especular de un mapa difuso

Todos tendemos a guardar archivos en tres formatos diferentes, es decir, mapas difusos, especulares y normales. Aunque realmente no siempre tiene que guardar un mapa especular separado, porque podemos extraerlo del mapa difuso.

Click para agrandar

Como se muestra arriba en el Editor de Material Unreal, extraje la información Roja y Verde del mapa Difuso, y luego la multipliqué. De nuevo lo multipliqué con un valor constante de 18 sólo para aumentar el resultado.

Puede ajustarlo según sus deseos o puede importar un mapa especular de 256 x 256 en lugar de usar el parámetro constante. Podrá ver que el segundo valor multiplicado comienza a brillar un poco (que es exactamente lo que queríamos) después de eso solo conecta el resultado en el nodo "Especular".

También puede conectar el valor del parámetro constante en el nodo "Potencia especular", si desea un resultado especular agradable y brillante. Eso es todo, acabamos de crear un mapa especular a partir de un mapa difuso y, por lo tanto, hemos guardado suficiente memoria para cargar uno más 1024 mapa de resolución en el motor.


Importar consejos y trucos

Cada vez que intentamos cargar o guardar un mapa de texturas, generalmente nos perdemos y olvidamos verificar la resolución del mapa de texturas. Siempre verifique la resolución del mapa porque UDK solo importa texturas con una resolución de 2 (x2).

Por ejemplo: 256 x 256, 512 x 512, 1024 x 1024, 2048 x 2048 y así sucesivamente. Nuevamente, asegúrese de que el archivo esté guardado en formato de 8 bits por canal RGB / RGBA, para evitar complicaciones al importar. Para verificar esto, abra el archivo en Photoshop y vaya a Imagen -> Modo -> y allí deberías ver 8 Bits / Canal seleccionado. Si no lo es, simplemente haga clic en él. Después de cargar la textura, asegúrate de haber establecido el sesgo de LOD.


Ajuste de sesgo de LOD

Click para agrandar

Como se muestra en las propiedades de textura anteriores, he importado la textura de la hoja de plátano con una resolución de 1024 x 1024, pero he establecido el sesgo LOD en 1. Lo que sucede aquí es que la resolución disminuye en 1 paso (x2), que es de 512 x 512, por lo que no tienes que cargar photoshop para eso..

La razón por la que he establecido el sesgo de carga a 1 es porque nuestra malla es un follaje simple y 1024 x 1024 va a agotar mucha memoria. A continuación se muestra la diferencia entre "Con sesgo LOD" y "Sin sesgo LOD".

En UDK, ve a Ver y luego a la ventana del navegador y selecciona Estadísticas de texturas para ver las estadísticas de las texturas cargadas en tu escena..


Sin LOD BIAS Setting

Click para agrandar

Como se puede ver en la imagen de arriba, las texturas se cargan en una dimensión de 1024 x 1024 sin un sesgo de LOD establecido. Las texturas aquí están usando aproximadamente 1366kb de memoria.


Con LOD BIAS Setting

Click para agrandar

En la imagen anterior, las texturas se cargan en dimensiones de 1024 x 1024, pero con el sesgo de LOD establecido en 1. Cada textura está utilizando unos 342 kb de memoria..


CONCLUSIÓN

Para los objetos en los que necesita grandes detalles, no tiene que hacer el proceso anterior. Pero para los objetos estáticos simples como el follaje, el césped, las hojas y cualquier otra malla estática, puede ir al proceso anterior. Esto ahorrará mucha memoria optimizando así el juego..


Tutoriales relacionados:

  • Una guía completa para principiantes de UDK
  • UDK - Creando Eventos Con Unreal Kismet
  • Sugerencia rápida: Introducción al mapeo de luz en UDK