Version: 2021.1
Texture arrays
Cubemap arrays

Cubemaps

Un Cubemap es una colección de seis texturas cuadradas que representan los reflejos sobre un entorno. Los seis cuadrados forman las caras de un cubo imaginario que rodea a un un objeto; cada cara representa la vista hacia las direcciones de los ejes del mundo (arriba, abajo, izquierda, derecha, adelante y atrás).

Los Cubemaps a menudo se utilizan para capturar reflejos o “alrededores” de los objetos; por ejemplo skyboxes y reflexiones del ambiente a menudo utilizan cubemaps.

Cubemapped skybox y reflejos
Cubemapped skybox y reflejos

Crear Cubemaps a tráves de Texturas

La forma más rápida de crear cubemaps es importarlos desde Texturas. especialmente diseñadas Seleccione la Textura en la ventana Proyecto, para ver la configuración de importación en la ventana del Inspector. En la Configuración de importación, configure Texture Type a Default, Normal Map o Single Channel, y Texture Shape a Cube. Entonces, Unity configura automáticamente la Textura como un Cubemap.

Tipo de textura de importación Cubemap
Tipo de textura de importación Cubemap

Se admiten varios diseños de cubemaps utilizados comúnmente (y, en la mayoría de los casos, Unity los detecta automáticamente).

Los diseños transversales verticales y horizontales, así como de columna y fila de caras del cubemap son compatibles:

Otro diseño común es LatLong (Latitude-Longitud, a veces llamado cilíndrico). Las imágenes panorama son están a menudo en este diseño:

Las imágenes SphereMap (mapa de entorno esférico) se puede encontrar también:

Por defecto Unity mira la relación de aspecto de la textura importada para determinar el diseño más apropiado de los anteriores. Cuando se importa, un cubemap se produce el cual puede ser utilizado para skyboxes y reflejos:

Seleccionando la opción Glossy Reflection es útil para las texturas Cubemap que serán utilizadas por Reflection Probes. Esta procesa niveles cubemap mip de una manear especial (convolución especular) que puede ser utilizada para simular reflejos de superficies de diferentes suavidades:

Cubemap utilizado en un Reflection Probe en un superficie que varia de suavidad
Cubemap utilizado en un Reflection Probe en un superficie que varia de suavidad

Assets Cubemap Legacy

Unity también soporta la creación de cubemaps de seis textures separadas. Seleccione Assets > Create > Legacy > Cubemap del menú, y arrastre seis texturas a ranuras vacías en el inspector.

Legacy Cubemap Inspector
Legacy Cubemap Inspector
Propiedad: Función:
Right..Back Slots Texturas para la cara del cubemap correspondiente.
Face Size Width (anchura) y Height (altura) de cada cara del Cubemap en pixeles. Las texturas serán escaladas automáticamente para que encajen con este tamaño.
Mipmap Deberían los mipmaps ser creados?
Linear Debería el cubemap utilizar un linear color?
Readable Debería el cubemap permitir scripts para acceder a los datos de pixel?

Tenga en cuenta que es preferido crear cubemaps utilizando el tipo de importación de textura Cubemap (ver arriba) - de esta manera los datos de textura del cubemap serán comprimidos; se realizan unos arreglos de borde y convolución de reflexión brillante; y los cubemaps HDR son soportados.

Otras Técnicas

Otra técnica útil es generar el cubemap desde los contenidos de una escena de Unity utilizando un script. La función Camera.RenderToCubemap puede grabar las seis caras de imagen de cualquier posición deseada en la escena; el código ejemplo de la página de referencia de la función agrega un comando del menú para hacer esta tarea fácilmente.


2018–01–31 Page amended

Texture arrays
Cubemap arrays