Unity le permite establecer el nivel de calidad gráfica que intentará renderizar. En términos generales, la calidad viene a expensas del framerate, y así que podría ser mejor no aspirar a la calidad más alta en dispositivos móviles, o en hardware antiguo, ya que tendrá un efecto perjudicial sobre el juego. El inspector Quality Settings (menú: Edit > Project Settings > Quality) es usado para seleccionar el nivel de calidad en el editor para el dispositivo escogido. Está dividido en dos áreas principales : en la parte superior, está la siguiente matriz:
Unity le permite asignar un nombre a una combinación dada de opciones de calidad para una referencia fácil. Las filas de la matriz le permiten elegir cuál de las diferentes plataformas de cada nivel de calidad se aplicará a. La fila predeterminada en la parte inferior de la matriz no es un nivel de calidad en sí misma, sino más bien establece el nivel de calidad por defecto utilizado para cada plataforma (una casilla verde en una columna denota el nivel actualmente seleccionado para esa plataforma). Unidad viene con seis niveles de calidad previamente habilitados pero usted puede añadir sus propios niveles utilizando el botón debajo de la matriz. Usted puede utilizar el icono de la papelera (la columna más a la derecha) para borrar un nivel de calidad no deseado.
Puede hacer clic en el nombre de un nivel de calidad para seleccionarlo para su edición, que se realiza en el panel debajo de los ajustes de la matriz:
Las opciones de calidad que usted puede escoger para un nivel de calidad son las siguientes:
Propiedad: | Función: |
---|---|
Name | El nombre que va a ser utilizado para referenciar este nivel de calidad |
Rendering:
Propiedad: | Función: |
---|---|
Pixel Light Count | El número máximo de luces de píxeles cuando se utiliza Forward Rendering. |
Texture Quality | Esto le permite elegir si desea mostrar texturas a máxima resolución o en una fracción de esta (una resolución menor tiene menos sobrecarga de procesamiento). Las opciones son Full Res, Half Res, Quarter Res y Eighth Res. |
Anisotropic Textures | Esto habilita si y cómo las texturas anisotrópicas serán utilizadas. Las opciones son Disabled, Per Texture y Forced On (ie, siempre habilitado). |
AntiAliasing | Esto establece el nivel de suavizado de líneas que se utilizará. Las opciones son 2x, 4x y 8x de muestreo múltiple. |
Soft Particles | Si la mezcla suave es utilizada para partículas? |
Realtime Reflection Probes | Deberían los reflection probes ser actualizados durante el gameplay? |
Shadows:
Propiedad: | Función: |
---|---|
Shadows | Esto determina qué tipo de sombras se deben utilizar. Las opciones disponibles son Hard and Soft Shadows, Hard Shadows Only and Disable Shadows. |
Shadow resolution | Las sombras pueden ser renderizadas en varias diferentes resoluciones: Low, Medium, High y Very High. Cuanto mayor sea la resolución, mayor será la carga de procesamiento. |
Shadow Projection | Hay dos métodos diferentes para proyectar sombras de una luz direccional. Close Fit hace sombras de mayor resolución, pero a veces puede tambalearse ligeramente si se mueve la cámara. Stable Fit hace sombras de menor resolución, pero no oscilan con los movimientos de cámara. |
Shadow Cascades | La cantidad de shadow cascades se puede configurar a cero, dos o cuatro. Una mayor cantidad de cascades dan una mejor calidad pero al precio de sobrecarga de procesamiento (mire Directional Light Shadows para más detalles). |
Shadow Distance | La distancia máxima de la cámara en la que las sombras serán visibles. Las sombras que caigan más allá de esta distancia no se renderizadas. |
Shadow Near Plane Offset | El desfase del plano cercano a la sombra para tener en cuenta para grandes triángulos siendo distorsionados por shadow pancaking. |
Other:
Propiedad: | Función: |
---|---|
Blend Weights | El número de huesos que puede afectar a un vértice dado durante una animación. Las opciones disponibles son uno, dos o cuatro huesos. |
VSync Count | Renderizado puede ser sincronizado con la frecuencia de actualización de la pantalla del dispositivo para evitar el “desgarro” de artefactos (véase abajo). Usted puede optar por sincronizar con cada vertical blank (VBlank), cada segundo vertical blank o no sincronizar en absoluto. |
LOD Bias | Los niveles LOD son escogidos basados en el tamaño de la pantalla de un objeto. Cuando el tamaño está entre dos niveles LOD, la decisión puede estar sesgada hacia el menos detallado, o el más detallado de los dos modelos disponibles. Esto se establece como una fracción de 0 a +infinito. Cuando es configurada entre 0–1 favorece el menor detalle. Una configuración de más de 1 favorece un mayor detalle. Por ejemplo, configurar LOD Bias a 2 y tenerlo a que cambie 50% en distancia, LOD en realidad solo cambia un 25%. |
Maximum LOD Level | El LOD más alto que será utilizado por el juego. Vea la nota de abajo para más información. |
Particle Raycast Budget | El número máximo de raycasts a utilizar para aproximar las colisiones del sistema de partículas ( esos con calidad Medium o Low). Mire el módulo de Particle System Collision. |
Async Upload Time Slice | La cantidad de tiempo CPU en mili-segundos por frame para gastar subiendo texturas buffered al GPU. Ver Async Texture Upload. |
Async Upload Buffer Size | El tamaño en MB para el Async Upload Buffer. Ver Async Texture Upload. |
Los modelos que tengan un LOD debajo del Nivel Máximo LOD no van a ser usados y serán omitidos para la construcción (que ahorrara espacio de almacenamiento y memoria). Unity usará el valor LOD más pequeño de todos los valores Máximos LOD vinculados con los ajustes de calidad de la plataforma objeto. Si un nivel LOD es incluido, entonces modelos de ese grupo LOD van a ser incluidos en la construcción y siempre cargados en el tiempo de ejecución de ese grupo LOD, sin tener en cuenta los ajustes de calidad usados. Como un ejemplo, si el nivel LOD 0 es usado en cualquier ajuste de calidad, entonces todos los niveles LOD serán incluidos en la construcción y todos los modelos referenciados cargados en el tiempo de ejecución.
La imagen en la pantalla del dispositivo no se actualiza de forma continua, sino que las actualizaciones se producen en intervalos regulares como las actualizaciones de cuadro de Unity. Sin embargo, las actualizaciones de Unity no son necesariamente sincronizadas con las de la pantalla, entonces es posible para Unity emitir un nuevo cuadro mientras la pantalla todavía está renderizando el anterior. Esto dará lugar a un artefacto visual llamada “tearing” en la posición de la pantalla dónde se produce el cambio de cuadro.
Es posible establecer en Unity en cambiar de cuadros solamente en el periodo dónde la pantalla del dispositivo no se esté actualizando, el muy llamado “vertical blank”. La opción VSync en los ajustes de calidad sincroniza cambios de cuadro con el vertical blank del dispositivo o opcionalmente con cada otro vertical blank. Esto último puede ser útil si el juego requiere más de una actualización del dispositivo para completar la renderización de un cuadro.
Anti aliasing mejora la apariencia de los bordes de los polígonos, entonces no están “ásperos” pero suaves en la pantalla. No obstante, incurre en un costo de rendimiento de la tarjeta gráfica y utiliza más memoria de vídeo (no hay un costo en CPU). El nivel de anti-aliasing determina qué tan suaves los bordes del polígono son (y qué tanta memoria de video consume).
Sin embargo, el hardware integrado anti-aliasing no funcionada con Deferred Shading o un renderizado HDR; para estos casos usted tiene que utilizar Antialiasing Image Effect.
Las Soft Particles desvanecen cerca de las intersecciones con otras geometrias de escena. Esto se ve mucho mejor, no obstante es más caro computarlo (shaders de píxeles más complejos), y solo funciona en plataformas que soporten depth textures. Además, usted debe usar Deferred Shadingo Legacy Deferred Lighting rendering path, o hacer que la cámara renderice depth textures desde scripts.