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 ETC2 compression unless you are targeting specific hardware (like Nvidia Tegra). ETC2 supports Textures with and without an alpha channel and is supported by all OpenGL ES 3 devices. To avoid software decompression, set the minimum graphics API to OpenGL ES 3 in the Android Player settings by removing OpenGL ES 2 from the Graphics APIs list and setting the Minimum API Level to 18+.
To target OpenGL ES 2 and OpenGL ES 3 devices, you can create two different APKs by first building an APK targeting OpenGL ES 3, as shown above, and then building an APK targeting OpenGL ES 2 by removing OpenGL ES 2 and Vulcan from the Graphics APIs section of the Player settings. You can then publish both of these APKs to the Google Play Store. When a user downloads your app, the Google Play Store will automatically install the most relevant APK for their device. For more information about publishing multiple APK files, see Android Developer documentation on Publishing Multiple APKs and Google Play Store APK filtering.
Al compilar un APK que se dirige a OpenGL ES 2, puede usar la compresión de textura ETC1.
The Texture compression format for OpenGL ES2-targeted APK can be ETC1. Unity can use ETC1 for Textures with Alpha, provided they are placed on an Atlas (by specifying the packing tag) and the build is for Android. You can opt in for this by setting the Compress using ETC1 checkbox for the Texture. Under the hood Unity splits the resulting atlas into two Textures, each without alpha and then combine them in the final parts of the render-pipeline.
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