Skip To Content

¿Qué es la oclusión del ambiente?

Written by febrero 29, 2020

Durante los primeros días de los videojuegos, donde todo lo que teníamos eran píxeles bidimensionales indiscernibles o gráficos de sprites, mucho se dejó a la imaginación. En aquel entonces, los gráficos por ordenador estaban compuestos por formas apenas reconocibles, hechas para pasar como sus contrapartes del mundo real (o en muchos casos, del mundo del cine). Lo hacían lo mejor que podían y luego se centraban en un juego divertido y repetitivo que es una gran manera de pasar el tiempo cada sábado por la tarde. Esto se prolongó durante mucho tiempo, siendo el Atari 2600 la principal consola doméstica que hizo el trabajo.

Tras el accidente de los videojuegos de los años 80, Nintendo y Sega resurgieron de sus cenizas e hicieron nuevas consolas: la Nintendo Entertainment System y la Sega Genesis respectivamente. Estas consolas presentaban unos gráficos mucho mejores en los que se podía reconocer realmente lo que es cada elemento individual. Claro que aún queda algo para la imaginación, pero definitivamente no tendrías que trabajar tan duro como antes. Durante esta época de 8 bits y las subsiguientes de 16 bits, los gráficos de los sprites fueron llevados al límite absoluto que la tecnología de la época podía dar. Pero seguía siendo el reino del 2D o de las dos dimensiones. La mayoría de los juegos se desplazaban de lado, o de arriba hacia abajo, y cualquier juego «3D» que saliera seguiría utilizando gráficos de sprites. Era una gran manera de crear juegos, y muchos juegos clásicos todavía se consideran como algunos de los mejores en sus géneros utilizados. Sin embargo, cuando llegó la Playstation de Sony, la industria de los juegos nunca sería la misma. Entraría en el reino de las tres dimensiones, o 3d.

Con la llegada de los gráficos en 3D llegó una nueva frontera en los videojuegos. De repente, los sprites bidimensionales pasaron a la historia, y los desarrolladores de juegos se apresuraron a crear gráficos 3D cada vez mejores que permitieran una inmersión en los juegos lo mejor posible desde el punto de vista tecnológico. Si durante las eras de 8 y 16 bits se dejó muy poco a la imaginación, con el amanecer de los gráficos 3d, casi no quedó nada. Los desarrolladores de juegos podían crear virtualmente cualquier cosa que pudieran modelar y usar en el juego. Y a medida que el tiempo pasaba, la calidad de estos gráficos en 3D mejoraba.

Hoy en día, la calidad de los gráficos 3d en los videojuegos, especialmente en los videojuegos de triple A, es tan alta que está difuminando las líneas de la realidad. Esto se debe a que a lo largo de los años se han desarrollado muchas características para mejorar enormemente el realismo que pueden aportar los gráficos en 3D. Desde la aceleración del hardware hasta el ajuste del software, los juegos en 3D de hoy en día están años luz más allá de lo que los creadores de juegos de los 60 y 70 podían soñar.

Hay muchos elementos en los gráficos 3D que contribuyen a producir una imagen fantástica. La iluminación es, por supuesto, uno de los más importantes. Ser capaz de tener en cuenta los efectos de las luces en un área y el sombreado que causará podría ser la diferencia entre una imagen de alta calidad. Y aquí es donde entra en juego la oclusión ambiental.

¿Qué es la oclusión ambiental?

A primera vista, el término parece y suena muy técnico. Y si lo defines averiguando lo que significan las palabras «ambiente» y «oclusión» por separado, tendrás una vaga idea de lo que es. Los diccionarios en línea definen «ambiente» como «relacionado con el entorno inmediato de algo». Suena bastante simple. Sin embargo, «oclusión» significa un par de cosas ligeramente diferentes, que tienen tres cosas en común: un bloqueo, un cierre momentáneo y la colocación.

Combinadas, obtendrás algo parecido a «cosas que bloquean los caminos». ¿Todavía suena confuso? No te preocupes, no está muy lejos. Verás, la oclusión ambiental es el método de sombreado y renderizado para averiguar cuánto de un punto específico de una escena renderizada recibe luz ambiental. Es el método para ver cuán «accesible» es cada punto de la escena a la luz ambiental, para producir un efecto que se acerca mucho más a cómo funciona la iluminación en el mundo real. Es diferente al casting de sombras (llegaremos a esto más adelante) pero produce un efecto de sombreado. Las áreas cerradas o de difícil acceso se oscurecen, y las áreas expuestas se aclaran, aumentando el realismo de una escena.

¿Todavía estás confundido? Piénsalo de esta manera. Tome un tubo de cartón de papel higiénico y colóquelo en una mesa regularmente iluminada. Echa un vistazo dentro del tubo, y luego mira afuera. Debido a que el interior del tubo no es fácilmente accesible por la luz ambiental, parece más oscuro que el exterior del tubo. Eso es lo que hace la oclusión ambiental. Ahora bien, si el mundo real tiene la configuración de los gráficos, y desactivamos la oclusión ambiental, no será tan fácil distinguir lo que es el interior del tubo de lo que es el exterior. A menos que las texturas (también llegaremos a esto más tarde) del tubo de cartón ya tengan sombras pintadas.

La oclusión ambiental, cuando se hace correctamente, da como resultado una escena que parece mucho más realista que cuando se renderiza sin oclusión ambiental. Pero hubo un tiempo en que la oclusión ambiental no se usaba en los videojuegos. En 2001, la película Pearl Harbor, protagonizada por Ben Affleck y Kate Beckinsale, usó la oclusión ambiental. Sin embargo, en 2007, el juego de Crytek «Crysis» reveló la oclusión ambiental del espacio de pantalla, la primera vez que la oclusión ambiental se utilizó en un videojuego. Los resultados fueron sorprendentes, y en ese momento, Crysis fue aclamado como una bella epopeya de ciencia ficción. No solo por la historia y la jugabilidad, sino por los gráficos de vanguardia de la época. Pero una tecnología tan avanzada significaba que, en el momento de su lanzamiento, Crysis tenía uno de los más altos requerimientos de hardware de cualquier juego. Sin embargo, estableció el listón en el que deben llegar o pasar otros títulos de triple A que deseen lograr gráficos inmersivos y realistas.

¿Cómo funciona la oclusión del ambiente?

Ahora sabemos lo que es la oclusión ambiental. ¿Pero cómo hace su trabajo añadiendo profundidad en la escena del videojuego en forma de sombreado?

El método desarrollado por Crytek, específicamente por Vladimir Kajalin, funciona como un algoritmo de un sombreador de píxeles. Los sombreadores de píxeles son, en esencia, calculan diferentes atributos y configuraciones de un área de una escena o de un objeto en una escena, y producen un resultado basado en esos cálculos. Puede ser un resultado simple como un color simple, o, en este caso, una cantidad de luz. Hace esto por cada píxel que está presente en la pantalla.

Esto suena como un montón de trabajo, y lo es. Podría decirse que es precisamente por eso que tomó tanto tiempo implementarlo en los videojuegos. Porque antes de esto, era muy difícil ejecutar la oclusión ambiental a través de la representación en tiempo real. Pero la solución producida por Crytek, que utiliza el muestreo de un número determinado de píxeles en lugar de cada píxel, redujo enormemente la cantidad de tiempo y el procesamiento requerido. Y con otra tecnología desarrollada paralelamente, permitió producir una imagen de alta calidad aceptable para el avance de los gráficos de videojuegos.

Hoy en día, hay muchos tipos de oclusión ambiental o AO como la industria lo llama, y funcionan de manera ligeramente diferente unos de otros.

Tipos de Oclusión Ambiental

Los diferentes tipos de oclusión ambiental tienen resultados similares pero ligeramente diferentes dependiendo de cómo un desarrollador de juegos haya utilizado cada uno. Aquí están algunos de los más comunes, y sus pros y contras.

SSAO o Screen-Space Ambient Occlusion – el abuelo de la tecnología de oclusión ambiental para los videojuegos. Desarrollado por Crytek en 2007, SSAO estableció el estándar cuando se trata de oclusión ambiental y hasta el día de hoy es la opción por defecto para la mayoría de los videojuegos lanzados.

Características principales:

    1. Poco o ningún recurso de CPU – debido al algoritmo usado, no hay virtualmente necesidad de usar el CPU. El SSAO puede ser realizado por la unidad de procesamiento gráfico o la GPU.
    2. Rápido y con recursos – porque no hay necesidad de pre-procesamiento, SSAO tiene virtualmente cero tiempo de carga y asignaciones de memoria. SSAO puede hacerse específicamente en la GPU
    3. Consistente y fiable – el algoritmo se aplica igual cada vez.
    4. Adaptable – puede ser aplicado de varias maneras por los desarrolladores de videojuegos y los fabricantes de GPU.

SSDO o Screen Space Directional Occlusion – puede considerarse un paso adelante de SSAO en términos de avance tecnológico. El SSDO no sólo utiliza los píxeles de una escena o un objeto. También utiliza la dirección de la luz que está golpeando el objeto, y cualquier luz que rebote de los objetos detrás de él. Esto le da al jugador la capacidad de distinguir los objetos viendo la diferencia en la cantidad de sombra y luz entre ellos.

Esto da más profundidad y realismo por encima de lo que SSAO ya trae y acerca cada vez más los videojuegos al siempre escurridizo escenario del fotorrealismo.

Características principales:

    1. Iluminación más realista – teniendo en cuenta la dirección de la luz de las fuentes de luz, la profundidad de la iluminación se hace mucho más realzada.
    2. No tan lejos de los requerimientos de recursos del SSAO – incluso si el SSDO es el sucesor del SSAO y tiene más características, los requerimientos de recursos siguen siendo muy similares a él y esto no es una carga tan grande para las GPU modernas.

HBAO/HDAO o Horizon-Based Ambient Occlusion y High-Definition Ambient Occlusion – son variantes de SSAO que pertenecen a dos desarrolladores de GPU. Nvidia es propietaria de HBAO, y AMD es propietaria de HDAO. No son tan diferentes de SSAO, pero producen una mejor oclusión ambiental, especialmente si se usan con sus respectivas tarjetas de video. Esto, sin embargo, se produce a costa de un mayor requerimiento de recursos y una caída del rendimiento, a menos que la GPU utilizada esté muy actualizada.

VXAO o Voxel Ambient Occlusion – este es el siguiente paso para la HBAO y también fue desarrollado por Nvidia. Proporciona una mayor calidad de oclusión ambiental que el HBAO, pero a costa de ser más pesado en recursos, incluso teniendo en cuenta las actuales GPU promedio. Para utilizar plenamente este tipo de oclusión ambiental, se necesitan las GPU más avanzadas disponibles. Sin embargo, cuando estén activadas, definitivamente verás la diferencia.

GI o Iluminación Global – este tipo de AO no se ha utilizado en los videojuegos todavía. Pero sabiendo cómo progresa la tecnología, definitivamente veremos esto dentro de nuestra vida. Así es como se hace la iluminación fotorealista. La GI tiene en cuenta todas las fuentes de luz presentes en la escena, y cómo cada una de ellas afecta a los muchos objetos presentes. Debido a esto, la iluminación es cercana, si no ya, exactamente la misma que en el mundo real. Luces y sombras realistas que harán que cualquier cosa en la escena se vea exactamente igual a sus contrapartes del mundo real. A menos, por supuesto, que estén modeladas o hechas de una manera claramente irreal.

¿La oclusión ambiental realmente hace una diferencia en los videojuegos?

Con la forma en que se describe la oclusión ambiental, parece que el AO es el ingrediente clave para hacer los videojuegos muy realistas. Y en muchos casos, lo es. Sin embargo, si has jugado muchos videojuegos en los últimos años, notarás que no muchos juegos, excepto los títulos de la triple A, incluyen AO o sus variantes. ¿Por qué lo preguntas?

La cosa es que, incluso si AO no requiere ninguna potencia de procesamiento de la CPU, y es amigable con los recursos, la oclusión ambiental es muy agotadora para la GPU. Ahora podrías estar pensando, «mi PC puede manejar cualquier cosa, seguramente el PC de todos los demás puede?» Pero no todos tendrán las mismas GPU, tendrán la tecnología más avanzada y el software más reciente. Y las compañías de videojuegos van a pensar en el resultado final, también conocido como vender sus juegos a la mayor cantidad de gente posible.

Si un juego es demasiado pesado para el hardware, puede que no se venda tan bien. Y esta es en realidad una de las principales quejas que críticos y jugadores hicieron sobre Crysis. En el momento de su lanzamiento, el jugador medio de PC no podía ni siquiera ejecutarlo sin pérdida de cuadros o una caída en la calidad o algo por el estilo.

Ahora, supongamos que es capaz de activar la oclusión ambiental sin ningún efecto secundario negativo. ¿Es el impacto realmente notable? Bueno, la respuesta corta es que depende.

Esto es porque también depende de cómo el desarrollador del juego implementó la oclusión ambiental en su juego. Si se hace correctamente, el efecto es casi inmediato una vez que se activa la configuración. Lo notarás especialmente cuando los objetos se colocan cerca unos de otros, como la hierba y los elementos de vegetación, o cuando los objetos están cerca de las paredes, techos o suelos. Si eres un jugador muy visual, entonces esto es algo que apreciarás enormemente.

Hecho incorrectamente, sin embargo, apenas notarás la diferencia visual. Pero definitivamente sentirás la caída del rendimiento en forma de menores fps o lag. Y si ese es el caso, entonces, ¿qué sentido tiene dejarlo encendido, verdad?

En algunos casos, es un punto medio entre los dos. Seguro que puedes ver -alguna- diferencia, pero puede que no sea lo suficientemente significativa a largo plazo como para justificar la posible caída de rendimiento. Cuando eso sucede, entonces es sólo un caso entre la calidad visual versus el rendimiento. Y si eres un jugador serio, lo más probable es que optes por el rendimiento.

Pero hay otra razón por la que la oclusión ambiental no se utiliza o incluye tan ampliamente en muchos juegos. Y es que hay alternativas que producen resultados muy similares sin los efectos secundarios del rendimiento.

Alternativa a la oclusión ambiental

Una de las alternativas más populares a la oclusión ambiental es la iluminación de florecimiento, usada por juegos populares como Skyrim. En pocas palabras, la iluminación de florecimiento es una reproducción artificial de un artefacto visual que las cámaras del mundo real producen al recibir la luz. Es como un suave resplandor (de ahí el término «florecimiento») que producen las áreas brillantes de una escena. Esto se apodera de la cámara y es evidente en películas, programas de televisión e incluso en vídeos grabados en casa con cámaras de vídeo o cámaras de teléfonos móviles. Ganó fuerza en los videojuegos en 2004 y ha estado presente en muchos videojuegos desde entonces.

El efecto de iluminación de florecimiento hace que la luz de una porción brillante de una escena «sangre» en otros elementos visibles de la escena desde el punto de vista de la cámara. El ojo humano reconoce esto como un efecto realista que hemos visto y experimentado antes, y lo procesa como iluminación realista en nuestro cerebro. Así que incluso si el sombreado producido por la oclusión ambiental no existe en una escena, el efecto de floración compensa para dar el efecto realista «inmersivo».

¿La mejor parte? La iluminación bloom ocupa muy poca potencia de procesamiento de la GPU, o como mucho, no se acerca a lo que la oclusión ambiental exigirá de una tarjeta gráfica. Por eso se ha convertido en un efecto visual muy popular en muchos juegos desde 2004, incluyendo títulos de triple A como Elder Scrolls IV: Oblivion y Elder Scrolls V: Skyrim, así como la serie Fallout, y más.

Si la oclusión ambiental no vale la pena o hace muy poco, ¿deberías siquiera considerar encenderla cuando juegas?

¿Deberías activar la oclusión ambiental en mi juego?

Después de hablar más sobre ello, parece que hay más contras que pros cuando se trata de la oclusión ambiental en los videojuegos, ¿verdad? Así que si ese es el caso, ¿debería incluso activar la oclusión ambiental en absoluto? Si todo lo que obtienes es una mínima mejora visual para un montón de recursos, entonces no vale la pena, ¿correcto?

La respuesta corta es, una vez más, depende. Si tu GPU puede manejarlo con una caída mínima o nula del rendimiento, entonces activar la oclusión ambiental es definitivamente una opción, especialmente si quieres mejorar tu calidad visual. También depende de si el juego lo hace bien o no. Si lo hace, entonces vale la pena posiblemente perder un poco de rendimiento para la calidad visual. Y si no lo hace bien, entonces es mejor dejarlo apagado. La única manera de averiguarlo es encender la función y comprobarlo por ti mismo.

El consenso general es que la oclusión ambiental es sólo un efecto especial que añade poco a la experiencia del videojuego que otros efectos no pueden dar sin los efectos secundarios. Sin embargo, algunos juegos lo hacen muy bien, así que si juegas a aquellos juegos que lo hacen de forma efectiva, vale la pena mantener la función activada.

  • Authentic reporting, expertise, and voice.

  • Driven to continually improve the audience experience.

  • Approachable, by explaining today’s technology in everyday terms.