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.
La manera preferida de crear cubemaps es importarlos desde textures especialmente diseñadas.
Seleccione el tipo de importación de textura Cubemap
y Unity debería hacer el resto. Varios diseños cubemap comúnmente utilizados son
soportado (y en la mayoría de casos detectado 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:
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.
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.
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.