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 republicadoCada 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:
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 agrandarTodos 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 agrandarComo 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.
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.
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..
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.
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..