Imagen generada con IA
Arte de entorno en UE5: paisaje, PCG y World Partition
Diego Cortés
Autor
Un horizonte que no se acaba, un bosque que se repite y una luz que cambia con la hora. Un entorno abierto en Unreal Engine 5 no se modela a mano: se construye por capas, terreno abajo y reglas arriba.
Qué es el arte de entorno en Unreal Engine 5 (y qué no es)
El arte de entorno en Unreal Engine 5 es la disciplina de decidir cómo se ve y cómo se recorre un espacio habitable: la escala del terreno, la silueta de las colinas, los materiales bajo los pies, la densidad del bosque y la luz que lo atraviesa. No es llenar un fondo ni importar assets: es tomar decisiones que aguanten que la cámara se mueva.
La regla de oro es contraintuitiva: se elige el punto de vista y la hora del día antes de tocar geometría; un paisaje para planos amplios no se dimensiona igual que uno para una persecución a ras de suelo. Si vienes de Blender, el traslado ya está resuelto en Unreal Engine 5 para artistas 3D y este artículo empieza donde ese termina, ya dentro del motor; la luz, que aquí es una sección más, se desarrolla en los secretos de iluminación de UE5.
Lo primero es el terreno: cómo se construye un Landscape
El actor Landscape es la base de todo entorno exterior: una superficie esculpida, pintada con capas y sombreada con un material propio. Conviene entender cómo está construido por dentro, porque de esa estructura depende el rendimiento.
Componentes, secciones y por qué la escala se decide ahora
Un Landscape no es una malla única: se divide en Landscape Components, la unidad de render, visibilidad y colisión, todos cuadrados y del mismo tamaño. Cada uno puede partirse en una o cuatro secciones (2x2), que son la unidad del cálculo de nivel de detalle.
Dos límites duros: la sección debe ser potencia de dos y no puede pasar de 256x256. Cada sección es una draw call, así que Epic recomienda no pasar de 1.024 componentes. La tabla recomendada lo aclara: 8.129 x 8.129 vértices con 127 quads por sección da 1.024 componentes, 2.017 x 2.017 baja a 256 y 253 x 253 a 4 o 16. Más grande no es mejor, es más caro: se dimensiona por el área que la cámara puede llegar a ver.
Heightmaps: dar forma al mundo desde fuera
Un heightmap es un mapa de altura en escala de grises que el motor convierte en terreno, y Epic prefiere PNG de 16 bits en escala de grises, r8 y r16 porque la profundidad de bits está declarada. Lo habitual es bajar un modelo digital de elevación real o esculpir el relieve fuera e importarlo para afinar con los pinceles. Si prefieres generarlo de forma procedural, la lógica se parece a la dispersión de Geometry Nodes.
Pintar el terreno: capas, pesos y materiales
El material de paisaje es una mezcla entre capas: los pesos pintados deciden cuánto influye cada una y cada capa necesita su Landscape Layer Info para poder pintarse. Weight Blending y Alpha Blending se combinan para lograr efectos como nieve sobre hierba y tierra a la vez.
Aviso que ahorra horas de depuración: si el material busca una capa que no está declarada en el terreno, su peso es siempre cero; no hay error, simplemente no pinta. En UE 5.8 el pincel mejoró para capas weight-blended y las edit layers quedaron expuestas a Blueprint.
La vegetación: primero el pincel, después las reglas
Foliage Mode: sembrar a mano (y por qué es tan barato)
Con Foliage Mode (Shift+3) se pinta o se borra vegetación. El tipo importa: el Static Mesh Foliage usa instancing y agrupa muchas instancias en un solo draw call, mientras que el Actor Foliage cuesta lo mismo que colocar actores normales. Para un bosque denso, la diferencia es enorme.
PCG: sembrar por reglas
El Procedural Content Generation Framework genera contenido procedural dentro del motor. Necesita el plugin PCG (más Geometry Script Interop para muestrear sobre Static Meshes) y se autoría en un PCG Graph que recibe datos desde un PCG Component del nivel.
El vocabulario mínimo: los Points son posiciones con transform, bounds, color, density, steepness y seed; la Point Density es la probabilidad de que un punto exista (cero es negro, uno es blanco); y el grafo se arma con familias de nodos como Sampler, Filter, Density, Spatial y Metadata. En UE 5.8 llegaron el filtrado contextual de nodos, los atributos con kernels HLSL y mejor reutilización de instancias en conjuntos grandes.
Hierba: el sistema que solo funciona sobre un Landscape
El sistema de hierba solo trabaja con el actor Landscape; para césped sobre otros actores, PCG resuelve densidad y pendiente sin problema.
El truco que separa lo amateur de lo creíble: fundir los objetos con el suelo
Aquí entra la Runtime Virtual Texture: una RVT genera sus texeles bajo demanda en la GPU durante la ejecución y cachea el sombreado de áreas grandes, así que piedras, caminos y charcos dejan de flotar y se funden con el suelo.
El flujo tiene cinco pasos: crear el asset RVT, colocar un RVT Volume en la escena, configurar los materiales para escribir en la RVT, configurarlos para muestrear de ella y marcar los componentes que renderizan dentro. Para el detalle fino está el Nanite displacement, que empuja geometría real en la superficie en vez de fingirla con normales; Nanite virtualiza con LOD automático, pero conviene medir instancias, triángulos por malla, complejidad de material y resolución de salida.
El cielo hace la mitad del trabajo: atmósfera, nubes y luz de exterior
Sky Atmosphere: un cielo que responde a la hora
Sky Atmosphere está físicamente basado y admite time-of-day, con transición entre suelo y espacio por perspectiva aérea. Se enciende colocando el componente, añadiendo una Directional Light y activando Atmosphere Sun Light; con dos luces el índice 0 es el Sol y el 1 la Luna, y Ctrl+L y Ctrl+L+Shift las mueven por el cielo. Una Sky Light captura la atmósfera y contribuye a la iluminación.
Volumetric Clouds: nubes de verdad, no un dome pintado
Las nubes volumétricas usan una textura de volumen 3D recorrida por ray marching en vez de una cúpula pintada. Son dirigidas por material y trabajan junto a la atmósfera y la Sky Light, con multiple scattering, sombras sobre y bajo las nubes y luz del suelo rebotando en su base.
Niebla y luz: el acabado que da profundidad
La Exponential Height Fog concentra más densidad abajo que arriba y admite una segunda capa; sus dos colores, uno por hemisferio respecto a la luz direccional, son lo que crea la sensación de distancia. Para la luz global, Lumen apunta a mundos abiertos a 60 fps con una caché de superficie de 12 cards por malla, y UE 5.8 trae Lumen Lite en beta, el doble de rápido que Lumen de alta calidad.
Agua: ríos, lagos y océano por splines
El plugin Water resuelve ríos, lagos y océanos con splines: los Water Body Actors definen la superficie y el Water Mesh Actor gestiona una única malla de agua, lo que evita costuras. Trae olas, simulación de fluidos, flotabilidad, cáusticas y post-proceso submarino, con tipos para océano, lago, río, isla y volumen de exclusión.
Que quepa: World Partition y el mundo que se carga solo
Un mundo abierto no cabe en memoria de golpe. World Partition guarda todo en un único nivel persistente dividido en celdas por un runtime grid configurable y carga o descarga según la distancia a los streaming sources: el ejemplo de la documentación usa celdas de 256 metros y un radio de carga de 768. El mapa Open World ya trae un landscape de ejemplo de 2 km por 2 km con todo el set de exterior. Cocinar un mapa con World Partition requiere el commandlet de cook.
Checklist para cerrar un entorno abierto
Ocho puntos que resumen el oficio: fija el punto de vista y la hora del día antes de modelar; dimensiona el landscape por draw calls, no por tamaño; pinta solo con capas declaradas; usa Static Mesh Foliage para densidad y PCG cuando haya reglas; añade RVT para fundir los objetos con el suelo; monta atmósfera y nubes antes de tocar la luz de relleno; activa World Partition desde el principio; y mide antes de embellecer.
Conclusión
Un entorno abierto es una jerarquía de decisiones: escala, capas, reglas, atmósfera y streaming. Cada herramienta resuelve su rebanada y ninguna sustituye a las demás.
Si quieres ver el oficio en movimiento, la plataforma tiene tutoriales curados que recorren este camino. El punto de partida es Create An Open World In UE5 & CityBLD; para el salto del pincel a las reglas, How to Procedurally Generate 3D Environments in Unreal Engine 5 y PCG Forrest; y para fundir los objetos con el suelo, la guía de Runtime Virtual Texture y Master Nanite Displacement. Todo está en la categoría de Unreal Engine, listo para estudiar sin distracciones.