Esta página detalla Texture Overrides específicas a Android. Una descripción de los Textures Overrides generales se pueden encontrar aquí.
La información contenida en esta página asume que el lector tiene conocimiento práctico de la compresión de texturas DXT y ETC, desarrollo de OpenGL ES y Android.
Se puede encontrar más información sobre la compresión de texturas y OpenGL ES en las siguientes páginas de Wikipedia:
Texture Format | Representación interna |
---|---|
RGB Compressed DXT1 | Textura RGB comprimida. Compatible con NVIDIA Tegra. 4 bits por píxel (32 KB para una textura de 256x256). |
RGB Crunched DXT1 | Textura RGB comprimida. Compatible con NVIDIA Tegra. Crunch es un formato de compresión con pérdida sobre la compresión DXT Texture. Las texturas se descomprimen en DXT1 por la CPU y luego se cargan en la GPU en tiempo de ejecución. Crunch produce texturas más pequeñas que con la compresión DXT1 normal, pero con una calidad inferior. Las texturas de Crunch pueden tardar mucho tiempo en comprimir, pero la descompresión en el tiempo de ejecución es muy rápida. 4 bits por píxel (el tamaño de salida varía según la Textura, desde 1 KB para una Textura de 256x256). |
RGBA Compressed DXT5 | Textura comprimida de RGBA. Compatible con NVIDIA Tegra. 8 bits por píxel (64 KB para una textura de 256x256). |
RGBA Crunched DXT5 | Textura comprimida de RGBA. Compatible con NVIDIA Tegra. Crunch es un formato de compresión con pérdida sobre la compresión DXT Texture. Las texturas se descomprimen a DXT5 en la CPU y luego se cargan en la GPU en tiempo de ejecución. La compresión de compresión se puede utilizar para producir texturas significativamente más pequeñas que con la compresión DXT5 normal, pero con una calidad inferior. Las texturas de Crunch pueden tardar mucho tiempo en comprimir, pero la descompresión en el tiempo de ejecución es muy rápida. 8 bits por píxel (el tamaño de salida varía según la Textura, desde 1 KB para una Textura de 256x256). |
RGB Compressed ETC 4 bits | Textura RGB comprimida. Este es el formato de textura predeterminado para proyectos de Android en Unity. ETC_RGB4 es parte de OpenGL ES 2.0 y es compatible con todas las GPU OpenGL ES 2.0. No es compatible con alfa. 4 bits por píxel (32 KB para una textura de 256x256). |
RGB Crunched ETC | Textura RGB comprimida. Crunch es un formato de compresión con pérdida en la parte superior de la compresión de textura ETC. Las texturas se descomprimen en ETC_RGB4 por la CPU y luego se cargan en la GPU en tiempo de ejecución. Crunch produce texturas más pequeñas que con la compresión ETC_RGB4 normal, pero con calidad inferior. Las texturas de Crunch pueden tardar mucho tiempo en comprimir, pero la descompresión en el tiempo de ejecución es muy rápida. ETC_RGB4 es parte de OpenGL ES 2.0 y es compatible con todas las GPU OpenGL ES 2.0. No es compatible con alfa. 4 bits por píxel (el tamaño de salida varía según la Textura, desde 1 KB para una Textura de 256x256). |
RGB Compressed ETC2 4 bits | Textura RGB comprimida. ETC2 es parte de OpenGL ES 3.0 y es compatible con todas las GPU OpenGL ES 3.0. 4 bits por píxel (32 KB para una textura de 256x256). |
RGB + 1-bit Alpha Compressed ETC2 4 bits | Textura RGB comprimida con un punteo de 1 bit alfa. ETC2 es parte de OpenGL ES 3.0 y es compatible con todas las GPU OpenGL ES 3.0. 4 bits por píxel (32 KB para una textura de 256x256). |
RGBA Compressed ETC2 8 bits | Textura comprimida de RGBA. Compatible con todas las GPU OpenGL ES 3.0. (64 KB para una textura de 256x256) |
RGBA Crunched ETC2 | Textura comprimida de RGBA. Crunch es un formato de compresión con pérdida encima r de la compresión de textura ETC. Las texturas se descomprimen en ETC2_RGBA8 en la CPU y luego se cargan en la GPU en tiempo de ejecución. La compresión Crunch se puede utilizar para producir texturas significativamente más pequeñas que con la compresión ETC2_RGBA8 normal, pero con una calidad inferior. Las texturas Crunch pueden tardar mucho tiempo en comprimir, pero la descompresión en el tiempo de ejecución es muy rápida. Compatible con todas las GPU OpenGL ES 3.0. 8 bits por píxel (el tamaño de salida varía según la Textura, desde 1 KB para una Textura de 256x256). |
RGB Compressed PVRTC 2 bits | Textura RGB comprimida. Compatible con Imagination PowerVR GPUs. 2 bits por píxel (16 KB para una textura de 256x256) |
RGBA Compressed PVRTC 2 bits | Textura comprimida de RGBA. Compatible con Imagination PowerVR GPUs. 2 bits por píxel (16 KB para una textura de 256x256) |
RGB Compressed PVRTC 4 bits | Textura RGB comprimida. Compatible con Imagination PowerVR GPUs. 4 bits por píxel (32 KB para una textura de 256x256) |
RGBA Compressed PVRTC 4 bits | Textura comprimida de RGBA. Compatible con Imagination PowerVR GPUs. 4 bits por píxel (32 KB para una textura de 256x256) |
RGB Compressed ATC 4 bits | Textura RGB comprimida. Compatible con Qualcomm Snapdragon. 4 bits por píxel (32 KB para una textura de 256x256). |
RGBA Compressed ATC 8 bits | Textura comprimida de RGBA. Compatible con Qualcomm Snapdragon. 8 bits por píxel (64 KB para una textura de 256x256). |
RGB Compressed ASTC 4x4 block RGB Compressed ASTC 5x5 block RGB Compressed ASTC 6x6 block RGB Compressed ASTC 8x8 block RGB Compressed ASTC 10x10 block RGB Compressed ASTC 12x12 block |
Textura RGB comprimida. Compatible con todas las GPU OpenGL ES 3.2 y OpenGL ES 3.1 + AEP, así como con algunas GPU OpenGL ES 3.0. Este tipo de compresión utiliza un tamaño de bloque de 128 bits fijo y, dependiendo del tamaño del bloque de píxeles (4x4 a 12x12), puede utilizar de 8 a 0,89 bits por píxel. El tamaño de la textura comprimida varía de 64 KB para una textura de 256x256 (bloque 4x4, calidad más alta) a 7.6 KB para una textura de 256x256 (bloque de 12x12, mayor tasa de compresión). |
RGBA Compressed ASTC 4x4 block RGBA Compressed ASTC 5x5 block RGBA Compressed ASTC 6x6 block RGBA Compressed ASTC 8x8 block RGBA Compressed ASTC 10x10 block RGBA Compressed ASTC 12x12 block |
Textura comprimida de RGBA. Compatible con todas las GPU OpenGL ES 3.2 y OpenGL ES 3.1 + AEP, así como con algunas GPU OpenGL ES 3.0. Este tipo de compresión utiliza un tamaño de bloque de 128 bits fijo y, dependiendo del tamaño del bloque de píxeles (4x4 a 12x12), puede utilizar de 8 a 0,89 bits por píxel. El tamaño de la textura comprimida varía de 64 KB para una textura de 256x256 (bloque 4x4, calidad más alta) a 7.6 KB para una textura de 256x256 (bloque de 12x12, mayor tasa de compresión). |
RGB 16 bit | 65 mil colores sin alfa Utiliza más memoria que los formatos comprimidos, pero podría ser más adecuado para UI o texturas nítidas sin degradados. 128 KB para una textura de 256x256. |
RGB 24 bit | Truecolor pero sin alfa 192 KB para una textura de 256x256. |
Alpha 8 bit | Canal alfa de alta calidad pero sin ningún color. 64 KB para una textura de 256x256. |
RGBA 16 bit | Truecolor de baja calidad. La compresión predeterminada para las texturas con canal alfa. 128 KB para una textura de 256x256. |
RGBA 32 bit | Truecolor con alfa: esta es la compresión de más alta calidad para las Texturas con alfa. 256 KB para una textura de 256x256. |
Compression quality | Elija Fast para un rendimiento más rápido,Es mejor para la mejor calidad de imagen y Normal para un equilibrio entre los dos. |
Si su aplicación está instalada en un dispositivo que no admite el formato de compresión de Textura que ha utilizado, Unity descomprimirá las Texturas en RGBA 32 y las almacenará en la memoria del dispositivo, junto con las Texturas comprimidas, cuando la aplicación se esté ejecutando. Esto conducirá a un aumento en los tiempos de carga y un mayor uso de memoria ya que Unity debe descomprimir las Texturas y almacenar dos versiones de las Texturas utilizadas (comprimidas y sin comprimir). Esto también puede tener un gran impacto en el rendimiento de la representación, especialmente en dispositivos más antiguos y lentos.
Use la compresión ETC2 a menos que tenga como objetivo hardware específico (como Nvidia Tegra). ETC2 admite Texturas con y sin un canal alfa y es compatible con todos los dispositivos OpenGL ES 3. Para evitar la descompresión del software, configure la API gráfica mínima para OpenGL ES 3 en la ventana Configuración del reproductor, eliminando OpenGL ES 2 de la lista API de gráficos y configurando el Nivel mínimo de API en 18+.
Para orientar los dispositivos OpenGL ES 2 y OpenGL ES 3, puede crear dos APK diferentes creando primero una APK orientada a OpenGL ES 3, como se muestra arriba, y luego creando una APK orientada a OpenGL ES 2 eliminando OpenGL ES 2 y Vulcan de Graphics Sección API de la ventana PlayerSettings. A continuación, puede publicar estos dos APK en Google Play Store. Cuando un usuario descarga su aplicación, Google Play Store instalará automáticamente la APK más relevante para su dispositivo. Para obtener más información sobre la publicación de varios archivos APK, consulte la documentación del desarrollador de Android en la Publishing Multiple APKs y Publishing Multiple APKs
Al compilar un APK que se dirige a OpenGL ES 2, puede usar la compresión de textura ETC1.
El formato de compresión de textura para el APK orientado a OpenGL ES2 puede ser ETC1. Unity puede usar ETC1 para Texturas con Alfa, siempre que se coloquen en un Atlas (especificando la etiqueta atlas) y la construcción es para Android. Puede optar por esto configurando la casilla de verificación “Comprimir usando ETC1” para la Textura. Debajo del capó, Unity dividirá el atlas resultante en dos Texturas, cada una sin alfa y luego las combinará en las partes finales de la tubería de renderizado.
Si desea almacenar un canal alfa en una Textura, el bit RGBA16 es el formato de compresión admitido por todos los proveedores de hardware.
2017–09–18 Page amended with editorial review
Característica actualizada en Unity 2017.1
Formato de compresión Crunch actualizado en Unity 2017.3