The Legend of Zelda: Breath of the Wild revolucionó la industria del videojuego. Siendo el mejor título del año pasado, la concepción del mundo abierto por parte de Nintendo marcó las pautas para entornos más interactivos gracias al portentoso motor que calza Breath of the Wild.
Aspectos gráficos y logradas físicas forman parte de la piedra angular del juego, un combinado que proporcionó una experiencia de gran profundidad gracias a las decenas de mecánicas que rompieron con los esquemas de los The Legend of Zelda predecesores. Los siguientes párrafos servirán para mostrar parte de estas virtudes técnicas, una auténtica Trifuerza que compone la puntera tecnología que goza el título.
Debido a la cantidad de aspectos que componen el motor de Breath of the Wild, dividiremos en dos este análisis para tratar el máximo de aspectos posibles. De esta forma, la primera parte servirá para dar a conocer el poderoso sistema de iluminación que goza el juego, mientras que la segunda ahondará en aspectos como las físicas, el sonido y las animaciones.
Especial mención antes de lanzarnos al meollo a @brainchildlight, quien en Twitter ha ido desgranando los aspectos técnicos los cuales mencionaremos, no en su totalidad, en el presente artículo. Os recomendamos encarecidamente visitar su perfil social, donde encontraréis en mayor profundidad un completísimo análisis de los muchos aspectos técnicos que inundan Breath of the Wild.
Iluminación
Uno de los causantes de las bellas estampas que proporcionan cada paraje en Breath of the Wild. Nintendo ha creado un motor capaz de recrear con realismo reflejos, oclusión y otros más aspectos de la luz.
Por ejemplo, el subsurface scattering o SSS (mecanismo que permite que se filtre la luz en objetos translúcidos, interactuando en función del material, la superficie, la intensidad de la luz…) permite que la parte inferior de estas plantas modifique su brillo en función de cómo incide la luz del sol:
#BreathoftheWild A better look at SSS. As more sunlight illuminates these plants, the brightness/color of their undersides change. pic.twitter.com/pykKyITNlk
— ?️? brainchild ?️? (@brainchildlight) 27 de noviembre de 2017
Así como este efecto también está presente para fuentes locales de luz, no solo globales como el sol y la luna:
#BreathoftheWild Sub-surface scattering of translucent materials are affected by local dynamic light sources as well (not just sun/moon). pic.twitter.com/jOC3xDiJjW
— ?️? brainchild ?️? (@brainchildlight) 23 de diciembre de 2017
Este efecto también puede apreciarse en las carpas de las zonas de descanso donde el motor calcula, en función del momento del día y la iluminación, la opacidad de algunos materiales translúcidos como la tela, superponiendo multitud de capas para aproximar la transferencia de luz a través de estas superficies. De esta forma, conforme la opacidad disminuye mejor puede apreciarse la luz traspasando estos objetos:
#BreathoftheWild A look at the reverse; as less sunlight illuminates the surface material, it decreases opacity, revealing more SSS. pic.twitter.com/6vqEJwkYcx
— ?️? brainchild ?️? (@brainchildlight) 24 de noviembre de 2017
Otra cualidad a nivel local del motor es la recreación de los reflejos. Un ejemplo es el de las armas elementales, las cuales actúan como emisores de luz. También útiles como antorchas improvisadas en zonas oscuras, el reflejo de su luminosidad en los objetos está condicionado por la reflectancia de los materiales:
#BreathoftheWild Elemental weapons are emissive and act as area lights. Their luminosity is also factored into the reflectance of materials pic.twitter.com/4G3j18Hgy7
— ?️? brainchild ?️? (@brainchildlight) 10 de noviembre de 2017
Además de que también se ve condicionada por la forma de los mismos. Por ello, mientras que en superficies planas la difusión de luz es uniforme, en barriles la reflectancia está condicionada por el ángulo con el que se ilumina:
#BreathoftheWild Physically based materials. Diffused light on wood can be seen from any angle. Barrel hoops change reflectivity with angle pic.twitter.com/0TkZcx7ZIh
— ?️? brainchild ?️? (@brainchildlight) 10 de noviembre de 2017
Este comportamiento local se identifica en ciertos materiales como un híbrido entre la imagen especular (el reflejo en, por ejemplo, un espejo donde los rayos de luz incidentes se reflejan con un ángulo igual al de incidencia, es decir, perpendiculares) y el SSR o Screen Space Reflections (efecto de post-procesado que altera la apariencia de los objetos en la superficie de los materiales).
Ejemplo de SSR en Unreal Engine 4
De esta forma, superficies como las de los santuarios (de las pocas en Breath of the Wild que permiten este grado de reflexión) son un buen ejemplo para apreciar este efecto:
#BreathoftheWild A closer look at local reflections. It’s actually a hybrid of SSR and specular lighting. pic.twitter.com/5dvufwcxBe
— ?️? brainchild ?️? (@brainchildlight) 21 de noviembre de 2017
Este mecanismo se ve superpuesto con el filtro SSAO o screen space ambient occlusion, técnica que aproxima el efecto de la oclusión ambiental (cómo de expuesta está una zona a la luz ambiental) en tiempo real sin necesidad de pre-procesado de la imagen ni tiempos de carga.
Imagen comparativa entre la aplicación o no del SSAO
El motor de Breath of the Wild se vale de estos dos mecanismos, SSAO y SSR, de forma simultánea en una misma imagen a la hora de calcular los reflejos, empleando el último los cálculos previos realizados por el SSAO para incluirlos en la reflexión de los objetos:
#BreathoftheWild Though SSAO and SSR are both calculated in screen space, SSAO is calculated first so that SSR can include it in reflection pic.twitter.com/uQZnUu7yfv
— ?️? brainchild ?️? (@brainchildlight) 31 de diciembre de 2017
Como último detalle, algunos objetos recurren a más de dos técnicas simultáneas de iluminación, como por ejemplo los bloques metálicos en los santuarios. Estos objetos se basan en tres herramientas para reflejar aquella luz que les llega de forma indirecta: SSR, captura bidimensional y cálculos específicos para la reflexión en la superficie de dicho objeto:
#BreathoftheWild These objects use 3 techniques for indirect specular. SSR, scenecapture 2D, and object-specific reflection probes #gamedev pic.twitter.com/rXlfBecTUP
— ?️? brainchild ?️? (@brainchildlight) 25 de diciembre de 2017
Analizando desde un punto de vista más global, la complejidad del motor de iluminación en Breath of the Wild permite tratar aspectos como la radiosidad de forma natural y efectiva. Un ejemplo puede ser el grado global de iluminación en el entorno, donde en base a la distancia de la cámara respecto de la zona expuesta a la luz, el motor calcula cómo de expuesto se está a la misma:
#BreathoftheWild Global illumination recalculating as camera’s distance from light probe changes. pic.twitter.com/TDvxAveaKD
— ?️? brainchild ?️? (@brainchildlight) 10 de noviembre de 2017
El cielo es también uno de los grandes protagonistas dentro de la iluminación. Cabe destacar su fidelidad en momentos como el atardecer, donde la dispersión de Raileigh (fenómeno natural causante de, por ejemplo, el enrojecimiento del cielo en la puesta del sol) es fielmente recreado en el juego en base a la distancia del Sol en el horizonte. Este fenómeno también se ve representado en la nieve, la cual refleja en base a la luminosidad ambiente:
#BreathoftheWild Snow gives us better look at the Rayleigh Scattering. You can see the skylight diffusely reflected and occluded over time. pic.twitter.com/XcYjTiR5Tw
— ?️? brainchild ?️? (@brainchildlight) 25 de noviembre de 2017
O el agua, donde mejor puede apreciarse este efecto:
#BreathoftheWild Water offers us the best insight into how Rayleigh/mie, specular lighting, and SSR all deliver a fanastic lighting system! pic.twitter.com/D2KVNUeNnq
— ?️? brainchild ?️? (@brainchildlight) 25 de noviembre de 2017
Finalmente, la oclusión ambiental también afecta a las sombras, creadas dinámicamente y que se muestran más cuanta más grado de luminosidad hay:
#BreathoftheWild Sky occlusion and Dynamically generated Shadow Volumes. Shadows also receivemore ambient light when environ. is overcast. pic.twitter.com/aJaHrKkxi0
— ?️? brainchild ?️? (@brainchildlight) 23 de noviembre de 2017
La dispersión de Raileigh también se superpone en ciertos casos con la difusión de Mie, ocasionada por partículas esféricas en suspensión como por ejemplo las nubes. Un ejemplo son las estrellas, ocultas por el sol y en parte por la difusión de Mie, apareciendo cuando el motor detecta un grado de irradiancia menor a uno dado:
#BreathoftheWild Sky irradiance. Stars become visible when there is less calculated irradiance from the sun and very little mie scattering. pic.twitter.com/SvumA5PTHi
— ?️? brainchild ?️? (@brainchildlight) 25 de noviembre de 2017
Concluimos el apartado con los rayos de luz, los cuales se dispersan por la presencia de obstáculos en su trayectoria. El siguiente ejemplo muestra este efecto, así como se detecta que los rayos son completamente independientes del punto de vista y dinámicos con el foco de luz, hecho debido a un sistema de iluminación volumétrico:
#BreathoftheWild Fully volumetric lighting. Light shafts are completely dynamic and are not view dependent. SSAO is applied when head on. pic.twitter.com/H7v2lUGuQB
— ?️? brainchild ?️? (@brainchildlight) 16 de noviembre de 2017
Este efecto puede combinarse con la difusión de Mie en zonas húmedas, donde los rayos filtrados por los árboles interactúan con la neblina característica de este entorno. De nuevo, cada rayo interactúa por sí mismo con la niebla, al igual que en el anterior caso:
#BreathoftheWild This whole scene is flooded with mie scattering, then each shadow volume casts over the fog, splitting fog into shafts. pic.twitter.com/cFwOZeRRpb
— ?️? brainchild ?️? (@brainchildlight) 7 de diciembre de 2017
Como detalle, la niebla en Breath of the Wild parece poseer volumen. Esto es debido a su renderizado dentro de los shadow volumes, técnica empleada en gráficos tridimensionales que añade sombras a escenas previamente renderizadas. De esta forma, la niebla recibe los rayos de luz, foco lumínico que en combinación con esta técnica induce este efecto:
Ejemplo de shadow volumes, donde las sombras se originan a partir de un foco de luz mediante proyecciones cónicas de los objetos
#BreathoftheWild Fog inscatter. The fog receives incident skylight and appears to have volume due to being rendered inside shadow volumes. pic.twitter.com/uEhrC1v4hm
— ?️? brainchild ?️? (@brainchildlight) 25 de noviembre de 2017
A modo de curiosidad, partículas como la nieve son renderizadas como pequeñas partículas de luz en lugar de objetos. Esto induce el efecto de parecer estar reflejando la luz. Además, dichas partículas pueden ser focos de luz, variando la radiosidad de las mismas en función del ángulo de la cámara al estar renderizadas en 3D:
#BreathoftheWild Snow particles are rendered as light particles instead of objects. This has the benefit of appearing to reflect sunlight. pic.twitter.com/AWETMRwP8W
— ?️? brainchild ?️? (@brainchildlight) 25 de noviembre de 2017
#BreathoftheWild Particle lights. Most particles in the game are emmisive, with varying radii within a 3D space. pic.twitter.com/dNnDhmqRCT
— ?️? brainchild ?️? (@brainchildlight) 25 de noviembre de 2017
Con esto, concluimos el extenso apartado de iluminación en Breath of the Wild. No habiendo tratado todos los aspectos, de nuevo os recordamos que podéis visitar las redes sociales del autor de estas capturas, en las cuales encontraréis en mayor profundidad lo que hemos tratado.
¡Y no olvidéis que esto es un primer aperitivo del extenso apartado gráfico del título! En breve encontraréis en la web la segunda entrega, con la cual concluiremos este análisis sobre la Trifuerza técnica en Breath of the Wild.