Publicado el 21/10/2025, 19:39:33 | Autor: 3dpoder

Las catacumbas de parís: recreando el laberinto de seis millones de esqueletos en cityengine

Vista de CityEngine mostrando la generación procedural de las Catacumbas de París, con el editor de reglas CGA abierto y la vista 3D de túneles laberínticos y paredes de huesos generadas automáticamente.

Las catacumbas de parís: recreando el laberinto de seis millones de esqueletos en cityengine

Bajo el suelo de la Ciudad de la Luz se extiende uno de los mayores osarios del mundo: las Catacumbas de París. Esta vasta red subterránea, que originalmente fueron canteras de piedra caliza, fue transformada entre 1786 y 1814 en el último reposo para seis millones de parisinos, cuyos restos fueron trasladados desde cementerios abarrotados. Lo que comenzó como una solución de saneamiento urbano se convirtió en un laberinto mortal que ha capturado la imaginación popular y atrae a valientes exploradores urbanos. 💀

El laberinto donde la ciudad se encuentra con la muerte

El verdadero misterio de las Catacumbas no son solo los millones de cráneos y fémures que adornan sus paredes, sino la escala laberíntica de su diseño. Con más de 300 kilómetros de túneles que serpentean bajo París, solo una pequeña fracción está abierta al público oficialmente. A lo largo de los años, numerosos exploradores se han perdido en esta oscura red, algunos permanentemente. La abrumadora presencia de la muerte se manifiesta no solo visualmente, sino a través de una atmósfera opresiva que ha generado incontables relatos de fenómenos paranormales y encuentros fantasmales. 🌫️

Características únicas de las Catacumbas:
Una red subterránea donde los visitantes se han perdido irremediablemente, rodeados por la densidad de la muerte

Configuración inicial del proyecto en cityengine

Para recrear las Catacumbas en CityEngine, comenzamos creando un nuevo proyecto con un terrain plano que represente el nivel del suelo de París. Establecemos el sistema de coordenadas en metros y definimos un área de trabajo de 2000x2000 metros para cubrir la extensión aproximada de las catacumbas. En el Inspector de Escena, configuramos las unidades en metros y activamos el sistema de snapping para un diseño preciso de los túneles. 🗺️

Configuración base del proyecto:

Diseño del grafo de calles laberíntico

El corazón de la generación procedural en CityEngine es el grafo de calles. Creamos un patrón de calles orgánico usando la herramienta Street Growth con parámetros de angle variation alto (45-90°) y length variation medio. Aplicamos múltiples seed points distribuidos aleatoriamente para generar un laberinto naturalista que imite el crecimiento orgánico de las antiguas canteras. Los nodos de intersección deben tener radio mínimo para crear esquinas cerradas. 🕸️

Parámetros del grafo de calles:

Reglas CGA para generación de túneles

Las reglas CGA (Computer Generated Architecture) son el alma de CityEngine. Creamos una regla llamada CatacombTunnel.cga que comienza con:

@StartRule
Tunnel -->
   offset(-0.5)
   comp(f) { side : Wall | top : Ceiling | bottom : Floor }

Esta regla básica extruye la forma del túnel y separa las caras para aplicar diferentes texturas y geometrías a paredes, techo y suelo. El offset negativo crea el volumen excavado del túnel. 🏗️

Estructura básica de reglas:

Generación procedural de paredes de huesos

Para las icónicas paredes de huesos, desarrollamos reglas CGA complejas:

Wall -->
   setupProjection(0, scope.xy, 1.5, 1.5)
   texture("stone_base.jpg")
   split(x) { ~1 : BonePattern }*
   
BonePattern -->
   case geometry.area > 0.5: 
      split(y) { ~0.3: SkullRow | ~0.7: BoneRow }*
   else: 
      texture("stone_dark.jpg")

Este sistema divide las paredes en patrones regulares y alterna filas de cráneos y huesos largos basándose en el área disponible. Las condiciones case permiten variación según el contexto geométrico. 💀

Componentes del sistema óseo:

Sistema de iluminación y atmósfera

La iluminación es crucial para la atmósfera opresiva. En CityEngine, configuramos luces puntuales estratégicas que simulen iluminación artificial antigua:

LightFixture -->
   s('0.2, '0.2, '0.5)
   t(0, 0, 2.5)
   i("light_point_01.obj")
   set(material.light.emissive, 0.8)
   set(material.light.color, [1.0, 0.8, 0.6])

Estas luces se distribuyen proceduralmente cada 20-30 metros a lo largo de los túneles principales, creando zonas de penumbra intercaladas con oscuridad profunda. La temperatura de color cálida replica lámparas de aceite históricas. 💡

Parámetros de iluminación:

Variación y aleatoriedad controlada

Para evitar repeticiones evidentes, implementamos variación procedural usando funciones de ruido y condiciones contextuales:

SkullRow -->
   case rand(0.0, 1.0) < 0.7:
      split(x) { ~0.25: Skull | ~0.1: Gap }*
   else:
      split(x) { ~0.2: Skull | ~0.15: Gap }*
      
Skull -->
   case rand(0.0, 1.0) < 0.3:
      i("skull_broken.obj")
   else:
      i("skull_intact.obj")

Este sistema crea patrones únicos pero coherentes, con variaciones en densidad y estado de conservación de los huesos que reflejan la realidad histórica. 🎲

Elementos de variación:

Exportación para motores de juego

Una vez generadas las catacumbas, las exportamos a formatos estándar usando el CityEngine Exporter. Para Unity, exportamos como FBX con LOD groups. Para Unreal Engine, usamos Datasmith format que preserva los materiales y la organización de la escena. Las reglas CGA se compilan en geometría estática optimizada para real-time rendering. 📤

Opciones de exportación:

Aplicaciones del modelo generado

El modelo de las Catacumbas generado en CityEngine tiene múltiples aplicaciones: desde entornos para videojuegos de terror hasta herramientas educativas de realidad virtual que permiten explorar este sitio histórico sin riesgos. La naturaleza parametrica del modelo permite generar variaciones infinitas para diferentes propósitos, manteniendo siempre la esencia laberíntica y opresiva del original. 🎮

El futuro del patrimonio cultural procedural

La recreación de las Catacumbas de París en CityEngine representa la vanguardia en preservación digital. Al capturar no solo la geometría, sino las reglas subyacentes de su construcción, creamos un modelo vivo que puede evolucionar y adaptarse a diferentes necesidades. Este enfoque democratiza el acceso a sitios históricos peligrosos o inaccesibles, permitiendo a estudiantes, investigadores y artistas experimentar estos espacios de manera segura mientras se preserva su legado para las generaciones futuras. ✨

Enlaces Relacionados