• Braulio Madrid

Nunca uses una bazuca para matar a un mosco.


broken bark


Toda la industria de los videojuegos está enfocada en los gráficos, debido a que el marketing vende mas facil lo que se vé y lo camuflan con la potencia de las consolas, cuando  a veces nada tienen que ver. Los gráficos tienen que ver con optimización, el buen uso de recursos y el ingenio para lograr hiperrealismo y detalles con muy poco, para esto necesitas un artista técnico que sepa darte los mejores gráficos y entienda cómo funciona la gráfica y el procesador para entregar un material digerible para ambas.


Aquí van algunos trucos para el apartado de Texturas.



Texturas rectangulares en potencias de 2.


Los procesadores leen más rápido los datos de las texturas antes de enviarlos a la gráfica si está en potencias de 2, osea tamaños que están entre 2x2, 4x4, 8x8, 16x16, 32x32, 64x64, 128x128 …. 256, 512, 1024, 2048, 4096 etc, pero de momento hasta 4096 seria el máximo, y para móviles el máximo seria 2048, puedes hacer mezclas de tamaños como 64x512 si lo desea, pero yo recomiendo en lo posible que sean dimensiones que sean cuadrados más que a que sean rectangulares.


Esto es debido a que los procesadores hacen uso de operaciones en bytes, así que cuando se encuentran con un valor diferente tienen que hacer el doble de operaciones por ejemplo si usará el número 34, de golpe encuentran 32 y luego tendrían que hacer otra operación de 2 y sumarla a la anterior, recuerde que texturas potencias de 2 se pueden comprimir en memoria reduciendo el uso de esta.


Nunca uses una bazuca para matar a un mosco.


Nunca uses una textura de 4096 para texturizar algo diminuto, este es un tema que nadie trata en ninguna parte, pero mi experiencia viendo el uso que hacen algunas personas inexpertas a la hora de modelar es que usan tamaños de texturas indiscriminados sin tener en cuenta lo que hacen, creando muros enormes con un pobre detalle de los ladrillos o crear un arbusto con demasiado detalle en sus hojas.


En resumen el promedio está en que uses una textura de 512x512 para ambos casos, pero esto se da porque simplemente es el tamaño promedio para que un procesador cargue una textura en memoria, pero esto no está pensado para los modelos.


Para hacerlo debes tener en cuenta la resolución de pantalla y la importancia del objeto en cuestión, realmente no hay una fórmula exacta como tal, pero mi experiencia me ha enseñado que debe ser algo más o menos como eso:


x = (texture Model(inches) * 72 ppi(pixel per inches))/2 o 4 o 8


Explicando esta pseudo fórmula donde x seria el tamaño de la textura de salida en full resolución.

Modelo: sería el tamaño en pulgadas de todo el modelo usando los límites del modelo.

72ppi: constante por ser el tamaño ideal para que nada se vea pixelado, toda la fórmula dividida en 2 o 4 o 8 dependiendo ya del tamaño de la pantalla o dependiendo del dispositivo al que esté destinado.


La fórmula da un numero que debes redondear a los tamaños ya descritos allá arriba, le recuerdo que esta es una fórmula empírica y usted puede usar sus fórmulas, pero en mi experiencia ha funcionado bien.


Uso de mipMaps.


Después de haber usado la fórmula para hallar la máxima resolución, active la casilla del uso de los mipmaps. el activar esta casilla aumenta un 30% el tamaño en kilobytes del archivo en memoria, así que el uso de este depende de si el personaje se aleja o se acercara en profundidad al objeto en un entorno 3D, no use mipMaps para entornos 2D, en elementos del HUD, la GUI o efectos de imagen en pantalla.


Uso de Texture Atlas.


Esta técnica es complicada de poner en práctica sobretodo si no tienes la cantidad de objetos total que tendrá el juego, la técnica consiste en crear una mega textura de 4096x4096 que contiene las texturas de todos los objetos del juego, aparte no puedes colocarlo de cualquier forma, sino que debes pensar que texturas basado en los materiales que usarás y en el shader de dicho material, por ejemplo usar un atlas para objetos metálicos brillantes, quizás otro para objetos difusos con poco brillos como telas, plásticos, quizás otro para materiales que se ven afectados por el movimiento del viento, como telas, cabello o ramas de los árboles, quizás otro para efectos de luces o integrar junto los materiales brillantes con los opacos.


Esto demuestra que se trata de planeación muy meditada pero el efecto de este enfoque es un alto rendimiento, debido a que el procesador solo carga una imagen grande y que se utilizará una y otra vez haciendo solo unas pocas llamadas de dibujado.


Compartir materiales.


La técnica anterior es para lograr precisamente el menor uso de materiales, lo que da pie también a menor cantidad de llamados a la gráfica.



Hasta aquí los consejos de texturas, como no cabe todo lo relacionado con graficos, lo he separado en 3 partes para que no se haga muy tedioso. No siendo mas nos vemos hasta otra.

© 2023 por Darkcom. Proudly created with Wix.com | Peñol, Antioquia, Colombia| +57 3113389725 | Politica de privacidad

  • GitHub
  • BMadrid
  • DarkcomDev
  • Darkcom.dev
  • Braulio-Madrid
  • YouTube Darkcom Tech
This site was designed with the
.com
website builder. Create your website today.
Start Now