Crear mundos. Unreal y Unity

Hoy os traigo una entrada densa, larga y apasionante .

Vamos a hablar de la creación de mundos virtuales, principalmente en juegos, pero con otras aplicaciones también.
Prácticamente, hoy en día hay dos grandes herramientas que se reparten la mayor parte del mercado, Los motores gráficos de Unreal y de Unity.

Ambos son programas para la realización de videojuegos. Aunque considero que es una manera muy básica de denominarlos, ya que realmente son herramientas creativas de muy alto nivel. Por un lado, aprovechan toda la potencia de un motor gráfico (para mover objetos Sprites en dos dimensiones o poligonales en 3 dimensiones) combinado con todo lo relacionado a Físicas (control de colisiones, inercias de movimientos, entornos con gravedad….), y la posibilidad de crear la programación de cada objeto a gusto (con C++ en Unreal, y C# en Unity).

Como comentaba, ambas son herramientas para la creación extremadamente potentes, y que se están implementando en sectores muy diversos ajenos a los juegos, como la arquitectura, la ingeniería, el cine, la medicina y, obviamente, la realidad virtual.

Primero vamos ha hacer un poco de historia para comprender la evolución de estos motores gráficos,y lo que ello implica.

Nos remontamos a los albores de los FPS (First personal shooter, o juego de disparos en primera persona).

En 1992, una recién creada ID Software sacó al mercado el juego Wolfenstein 3D, el que es considerado como el primer juego en 3D, aunque no es así del todo, ya que excepto los muros poligonales, todo lo demás eran sprites (figuras en 2D), y sólo so podía desplazar y mirar en las coordenadas X, Y, es decir, en dos dimensiones. Estamos hablando de la época en la que se lanzaban los juegos desde la consola de comandos de MSDOS, el mouse iba con bolita, y el mega de RAM para un 486 costaba 1000 pesetas (32 Mb de RAM, 32.000 pesetas, cuando un sueldo iba sobre los 70.000 pesetas a lo grande).

 

Aquí os dejo un interesante vídeo que explica el funcionamiento técnico de este juego. Esto que vais a ver es pura historia! (el vídeo está en el idioma de la Reina del GinTonic, y no me refiero a Rocío Jurado. Por cierto, un buen Gin Tonic os va a hacer falta…)

Tras el éxito de este juego, en 1993 llegó el juego que marcó el punto de inflexión de la mano de los mismos creadores. Doom.
La gran diferencia, además de un sustancial salto en la calidad, era la de crear un mundo tridimensional, en el que se podía subir y bajar a diferentes niveles (todo un logro en la época).

A continuación un vídeo que explica toda la historia, Muy aconsejable (además en castellano)

Tras Doom, ID software volvió a dar un golpe en la mesa. Esta vez, el golpe definitivo. Quake.
Hablamos de 1996. Quake fue el primer juego realmente en 3D, ya que abandonaba los sprites bidimensionales y por fin los enemigos eran generados por polígonos en 3D. de la misma manera, los escenarios eran realmente tridimensionales, se podía mirar y disparar en todas las coordenadas y además era la primera vez que se empleaban mapas de luz (técnica que simula las iluminaciones en el entorno).

Como podéis ver en el siguiente gameplay, la diferencia es muy notable.

Para desarrollar este juego ID software creó el Quake Engine, el motor gráfico que se encargaba, trabajando con la tarjeta gráfica por medio de DirectX, de mover todos lo elementos de la pantalla y realizar los cálculos necesarios. Este motor fué el que se empleó para la creación de otras de las sagas clásicas del os juegos FPS: Half Life. Pero esa es otra historia.

Es por los años 1998 cuando la empresa Epic Games, una empresa que ya venía abriéndose paso en el sector desde principio de los 90, lanzó Unreal, habiendo un salto importante a nivel de gráficos e inteligencia artificial.

Antes de entrar en materia, os dejo otro vídeo muy interesante sobre el RayTracing. Este es un término que cada vez vais a oír más, y se trata del cálculo de los rayos de luz, así como la iluminación ambiental, los reflejos y las físicas que afectan a cada uno de los rayos de luz, y por ende, a la iluminación. El vídeo es muy fácil de digerir, y en perfecto idioma de la piel de toro.
Me parece apasionante, por que al fin y al cabo habla de como generar y calcular el comportamiento de la luz en un entorno virtual, Y ya sabéis que la luz es la base de la fotografía, y que al fin y al cabo lo que se intenta simular es lo que la naturaleza hace continuamente. Además da un precioso recorrido sobre la historia de la iluminación en el mundo de los videojuegos (ergo, entornos virtuales).

 

 

Y aquí es cuando empieza la historia que nos interesa:

Unreal Engine.

Para llevar a cabo el juego Unreal, Epic Games creó su propio motor gráfico, que  luego se convertiría en un clásico de la industria.

Creado en 1998 para sus juegos Unreal y Unreal tournement, actualmente se encuentra en la version 4, la cual ha sido lanzada gratuitamente en 2015 para que cualquiera que quiera diseñar y crear un juego, pueda hacerlo con su motor gráfico.

Hay que tener en cuenta que Unreal Engine ha sido utilizado por empresas como  AtariActivisionCapcomDisneyKonamiKoei2K GamesMidwayTHQUbisoftSegaSonyElectronic ArtsSquare EnixCCP Games y 3D Realms, entre otras.

Aquí tenéis una lista de los juegos que se han realizado con el engine de Unreal, y os vais a encontrar con muchos conocidos.

En el siguiente vídeo tenéis una introducción muy sencilla a Unreal Engine. No es para que aprendáis a utilizarlo, pero es como un coche. Aunque no seas ingeniero, nunca está de más conocer un poco la mecánica, ¿no?

Una de las cualidades de Unreal es la posibilidad de adquirir plugins y bibliotecas, de elementos, efectos, modelos, físicas, comportamiento, partículas…. Podéis visitarla aquí, y os aseguro que os va a sorprender las cosas que os podéis llegar a encontrar.

A continuación un vídeo con el top 10 de los mejores trabajos.

Pero no todo son videojuegos. ¿Recordáis la entrada que hice sobre los decorados de The Mandalorian? Pues están generados con Unreal Engine (supongo que ahora vais atando cabos).

Este otro vídeo es la conferencia entera del anterior. Muy interesante también.

A continuación, otro vídeo de como se crea un entorno fotorrealista.

y ahora, para que os explote la cabeza, un vídeo de como crear entornos de realidad virtual, en realidad virtual.

¿Como se os ha quedado la sesera? Entendéis ahora lo del Gin Tonic, ¿verdad?

Vale. Ahora tomad un poquito de aire, que ahora viene…

Unity 

La historia de Unity es bastante peculiar. A diferencia de Unreal, no ha sido el resultado del desarrollo a partir de éxitos, si no todo lo contrario.
Unity Technologies fue fundada en 1988 en Dinamarca después de que sus fundadores crearan un videojuego (gooballs) que no tuvo apenas éxito (lo que se llama comerse los mocos). No obstante se dieron cuenta que el motor gráfico que habían creado era una herramienta realmente potente para desarrollar videojuegos, pudiendo unificar archivos de  Blender3ds MaxMayaSoftimage, Modo, ZBrushCinema 4D, Cheetah3D, Adobe PhotoshopAdobe Fireworks y Allegorithmic Substance. Los cambios realizados a los objetos creados con estos productos se actualizan automáticamente en todas las instancias de ese objeto durante todo el proyecto sin necesidad de volver a importar manualmente, además del módulo de animación Mecanim.

Primero os dejo un vídeo cortito que explica, en castellano, como se trabaja en Unity

En este vídeo podéis ver la calidad de Unity (allá por el 2018) para entornos de arquitectura)

Este es un vídeo (bastante famoso) llamado Adam, realizado en Unity

Y este otro, no menos interesante, es un documental sobre como se hizo el vídeo anterior, usando tecnología de Mocap (Motion Capture, o captura de movimientos) que se trasladan luego a un objeto en 3d, dentro del modulo de Mecanim de Unity. Esto permite asociar una galería de movimientos a un objeto.

A continuación, un vídeo sobre como funciona Mecanim (para que os hagáis una idea)…

Es posible que penséis que Unity se ve un poco mas cutre que Unreal. Puede ser, pero desde luego es más abierto, y gratuito. Posiblemente se emplea más para juegos Indie.

Personalmente sólo puedo hablaros de Unity, con el que estuve trasteando una temporada, y os puedo decir que como herramienta creativa, para mí, que había estado muy ligado a Adobe Flash, es muy interesante y cómoda de utilizar. Permite importar cualquier imagen , sonido,objeto 3D, que al ser modificados en su programa de edición propio (Photoshop, Blender, o el que sea) se actualiza al momento. además de poder crear los scripts en C#, Assets y Prefabs (objetos empaquetados para poder ser reutilizados, e incluso compartidos o vendidos en la AssetStore).

Otro ejemplo es lo fácil que es implementar realidad aumentada con Unity:

Para finalizar, os dejo este vídeo de comparación entre ambas plataformas.

En todo caso hablamos de herramientas creativas muy poderosas para crear mundos.

Si os interesan estos temas, hacedmelo saber para ir añadiendo más entradas bajo la etiqueta de «realidades alternativas», que os aviso, es otro mundo que explorar.

Etiquetado , , , ,

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.