Atrás
Reinventa Londres de Fortnite: la capital londinense cobra vida en UEFN
El equipo de Fortnite
Reinventa Londres (código de isla: 1442-4257-4418) es una colaboración entre Epic Games y el renombrado estudio de arquitectura Zaha Hadid Architects para recrear con precisión una zona emblemática de Londres. Los jugadores de Fortnite están invitados a contribuir diseñando sus propios edificios únicos dentro de la isla.
Este proyecto tiene varios objetivos clave:
ZHA, que ya tenía experiencia con Unreal Engine, desempeñó un papel central en este proyecto. No solo diseñó los edificios, también creó la jugabilidad, incorporando conceptos arquitectónicos y de construcción del mundo real. ZHA y Epic también colaboraron con AccuCities, otro experto en Unreal Engine, que aportó modelos muy precisos de Londres a UEFN para crear la zona jugable en el juego.
Para conocer más sobre la historia detrás de Reinventa Londres, echa un vistazo a este video en el canal de The B1M en YouTube.
La zona que pueden explorar los jugadores cuenta con varios monumentos emblemáticos, como la Catedral de San Pablo, la galería Tate Modern y el teatro Shakespeare's Globe. Dentro de esta área jugable de Londres, hay cuatro sitios de construcción.
Para definir la forma y categoría de los edificios, los jugadores colocan vóxeles, mientras que el nuevo sistema genera automáticamente estructuras realistas. ZHA diseñó las piezas modulares y estableció las reglas de cómo encajan dichas piezas, lo que permitió la creación de edificios mucho más grandes que un solo vóxel.
Cuando un jugador pulsa el botón de disparo, primero comprobamos si está en una «zona de construcción» y luego ejecutamos una proyección de rayos para determinar qué cara de vóxel está mirando. Si procede, se agrega un nuevo vóxel en esa ubicación.
Para ambas técnicas, el equipo creó un conjunto grande de elementos de construcción modulares —más de 330 en total— que Verse genera en tiempo de ejecución. El código es determinista, solo elimina y genera elementos según sea necesario.
He aquí una breve explicación de cómo funcionan estas técnicas:
La gramática de formas consta de reglas simples en las que cada regla toma una caja y genera una o más subcajas para las reglas siguientes. Por ejemplo, una regla puede dividir una caja alta en un «piso» de un vóxel de altura, mientras que otra regla asigna las esquinas a una regla y las paredes a otra. Una regla especial genera un elemento del tamaño y ubicación de la caja.
Cada regla se define como una clase de Verse independiente, que se ensambla en un «árbol» en el código. Este enfoque simplifica la creación de nuevas reglas, la experimentación con distintas ideas y la asignación de diferentes estilos a cada tipo de edificio. La aplicación de distintas reglas al mismo conjunto de vóxeles produce resultados variados, como se muestra en la imagen siguiente.
Las reglas también pueden seleccionar una pieza «mejorada» cuando se colocan juntas combinaciones específicas de vóxeles, como un vóxel de parque y un vóxel residencial.
En esta implementación, se emplea un conjunto de casillas y, a continuación, el equipo especifica cuáles pueden ser adyacentes entre sí. Se aplica una «etiqueta» a cada arista y solo se pueden colocar casillas si coinciden las etiquetas. El algoritmo selecciona una ubicación en la cuadrícula, elige aleatoriamente (o «colapsa») entre las opciones posibles y, acto seguido, propaga las consecuencias de esa elección a las opciones posibles en otras ubicaciones.
Este proceso continúa hasta que se genera toda la región.
Para implementar esta función, se generaron cajas normalmente invisibles y se empleó un dispositivo de secuencia cinemática para controlar una colección de parámetros de materiales. A su vez, dicha colección de parámetros ajusta la opacidad de los materiales. La opción «Solo instigador» permite a los jugadores controlar esta vista de forma independiente, lo que significa que solo afecta al jugador que la habilita y no a otros.
La isla también guarda información, como, por ejemplo, el nivel del jugador en el juego, las misiones completadas y las piezas que ha desbloqueado. ¡Todo gracias a Verse Persistence!
Para dar vida a la ciudad, se emplearon tres técnicas diferentes:
Una capa de datos permite encender y apagar fácilmente las farolas. Además, una colección de parámetros de materiales ajusta el brillo de materiales concretos —como ventanas— por la noche.
Esperamos que disfrutes explorando y creando en Reinventa Londres, ¡y que te dé ideas para tus futuras islas!
Este proyecto tiene varios objetivos clave:
- Demostrar un nuevo tipo de jugabilidad dentro de Unreal Editor para Fortnite (UEFN).
- Ampliar los límites de Verse y otras funciones de UEFN, probando y mejorando todo su potencial.
- Mostrar cómo Fortnite puede presentar de forma amena ideas innovadoras a un público amplio.
- Explorar cómo los usuarios experimentados de Unreal Engine pueden aplicar sus conocimientos a UEFN.
- Y lo más importante, inspirar a los jugadores para que imaginen cómo las ciudades del futuro podrían ser más transitables, dinámicas, ecológicas y sostenibles.
ZHA, que ya tenía experiencia con Unreal Engine, desempeñó un papel central en este proyecto. No solo diseñó los edificios, también creó la jugabilidad, incorporando conceptos arquitectónicos y de construcción del mundo real. ZHA y Epic también colaboraron con AccuCities, otro experto en Unreal Engine, que aportó modelos muy precisos de Londres a UEFN para crear la zona jugable en el juego.
Para conocer más sobre la historia detrás de Reinventa Londres, echa un vistazo a este video en el canal de The B1M en YouTube.
Un nuevo tipo de construcción
Reinventa Londres muestra un sistema de construcción completamente nuevo escrito en Verse. Los jugadores pueden elegir entre seis tipos de edificios (camino, estructura, comercial, oficina, residencial y parque) y diseñarlos mediante la colocación de vóxeles en el sitio de construcción.La zona que pueden explorar los jugadores cuenta con varios monumentos emblemáticos, como la Catedral de San Pablo, la galería Tate Modern y el teatro Shakespeare's Globe. Dentro de esta área jugable de Londres, hay cuatro sitios de construcción.
Para definir la forma y categoría de los edificios, los jugadores colocan vóxeles, mientras que el nuevo sistema genera automáticamente estructuras realistas. ZHA diseñó las piezas modulares y estableció las reglas de cómo encajan dichas piezas, lo que permitió la creación de edificios mucho más grandes que un solo vóxel.
Cuadrícula de vóxeles y proyección de rayos
En medio de Reinventa Londres hay una cuadrícula 3D de «celdas» para cada sitio de construcción, que almacena información sobre el tipo de vóxel de construcción presente (en caso de haberlo). Implementar esto en Verse es sencillo si se usa una matriz de referencias «opcionales». Además, una sencilla rutina de proyección de rayos toma una ubicación y dirección iniciales, avanzando por la cuadrícula hasta encontrarse con una celda ocupada.Manejo de entradas
La isla utiliza varios dispositivos Activador de entrada para responder a controles como disparar (agregar vóxel), apuntar (eliminar vóxel), objeto siguiente/anterior (cambiar categoría) y pico (abrir menú personalizado).Cuando un jugador pulsa el botón de disparo, primero comprobamos si está en una «zona de construcción» y luego ejecutamos una proyección de rayos para determinar qué cara de vóxel está mirando. Si procede, se agrega un nuevo vóxel en esa ubicación.
Generación procedimental en Verse
Reinventa Londres implementa en Verse dos tipos de generación procedimental: la gramática de formas y el colapso de la función de onda. La gramática de formas se aplica a edificios 3D (comerciales, residenciales, oficinas y estructuras), mientras que el colapso de la función de onda se utiliza para áreas «planas» 2D (caminos y parques).Para ambas técnicas, el equipo creó un conjunto grande de elementos de construcción modulares —más de 330 en total— que Verse genera en tiempo de ejecución. El código es determinista, solo elimina y genera elementos según sea necesario.
He aquí una breve explicación de cómo funcionan estas técnicas:
Gramática de formas
En primer lugar, todos los vóxeles de cada categoría se «descomponen» en cajas convexas más grandes para aplicar la gramática de formas.La gramática de formas consta de reglas simples en las que cada regla toma una caja y genera una o más subcajas para las reglas siguientes. Por ejemplo, una regla puede dividir una caja alta en un «piso» de un vóxel de altura, mientras que otra regla asigna las esquinas a una regla y las paredes a otra. Una regla especial genera un elemento del tamaño y ubicación de la caja.
Cada regla se define como una clase de Verse independiente, que se ensambla en un «árbol» en el código. Este enfoque simplifica la creación de nuevas reglas, la experimentación con distintas ideas y la asignación de diferentes estilos a cada tipo de edificio. La aplicación de distintas reglas al mismo conjunto de vóxeles produce resultados variados, como se muestra en la imagen siguiente.
Las reglas también pueden seleccionar una pieza «mejorada» cuando se colocan juntas combinaciones específicas de vóxeles, como un vóxel de parque y un vóxel residencial.
Colapso de la función de onda
El colapso de la función de onda (WFC, por sus siglas en inglés) es una técnica para generar aleatoriamente un área basada en reglas que determinan cómo pueden encajar las piezas. Este método se trató en la charla State of Unreal 2022, The Matrix Awakens: Generating a World.En esta implementación, se emplea un conjunto de casillas y, a continuación, el equipo especifica cuáles pueden ser adyacentes entre sí. Se aplica una «etiqueta» a cada arista y solo se pueden colocar casillas si coinciden las etiquetas. El algoritmo selecciona una ubicación en la cuadrícula, elige aleatoriamente (o «colapsa») entre las opciones posibles y, acto seguido, propaga las consecuencias de esa elección a las opciones posibles en otras ubicaciones.
Este proceso continúa hasta que se genera toda la región.
Modo de visualización
Para ayudar a los jugadores a visualizar qué tipos de vóxeles han colocado, pueden activar/desactivar un modo de visualización, que superpone el sitio de construcción con cajas de colores.Para implementar esta función, se generaron cajas normalmente invisibles y se empleó un dispositivo de secuencia cinemática para controlar una colección de parámetros de materiales. A su vez, dicha colección de parámetros ajusta la opacidad de los materiales. La opción «Solo instigador» permite a los jugadores controlar esta vista de forma independiente, lo que significa que solo afecta al jugador que la habilita y no a otros.
Cómo guardar edificios
Los jugadores pueden trabajar en sus edificios en varias sesiones y compartir sus creaciones con amigos gracias a la función Verse Persistence. Los vóxeles de construcción se convierten en una cadena de texto, se guardan como una matriz y se pueden volver a cargar más adelante.La isla también guarda información, como, por ejemplo, el nivel del jugador en el juego, las misiones completadas y las piezas que ha desbloqueado. ¡Todo gracias a Verse Persistence!
Peatones
Para dar vida a la ciudad, se emplearon tres técnicas diferentes:
- Sequencer
- Sirve para animar peatones, coches, bicicletas, lanchas y trenes por toda la ciudad.
- Mallas estáticas
- Para los peatones que están parados de pie o siguiendo rutas predefinidas, se utilizaron mallas estáticas con materiales de animación de vértices en lugar de la animación de malla esquelética. Este enfoque es más eficiente ya que se ejecuta por completo en la GPU. Encontrarás más información sobre esta técnica en nuestro resumen de la animación de vértices.
- Dispositivo generador de PNJ
- Para los peatones en el interior de sitios de construcción, se usó el dispositivo Generador de PNJ con un comportamiento de Verse personalizado. Estos PNJ se mueven por las zonas de parques y caminos, y aparecerán más a medida que se desarrolle el sitio. Los PNJ usan el esqueleto de MetaHuman y el conjunto de animación de locomoción.
Música procedimental
Se utilizó Patchwork para implementar un sistema de música procedimental que evoluciona conforme los jugadores construyen. A medida que avanza la construcción en un sitio, la música se vuelve gradualmente más dinámica. Se importaron tres capas de música compuesta en parches de fusión, que luego se cargaron en reproductores de instrumentos de Patchwork y se activaron mediante una pista midi en el sincronizador de canciones. El volumen de los altavoces se atenúa o aumenta según la densidad de edificios en el sitio.Día y noche
Se implementó un ciclo de día y noche personalizado para mostrar la ciudad tanto de día como de noche. Se empleó Sequencer para ajustar los parámetros de iluminación a lo largo del tiempo, activando cambios a través de Verse.Una capa de datos permite encender y apagar fácilmente las farolas. Además, una colección de parámetros de materiales ajusta el brillo de materiales concretos —como ventanas— por la noche.
Esperamos que disfrutes explorando y creando en Reinventa Londres, ¡y que te dé ideas para tus futuras islas!