
As catacumbas de Paris: recriando o labirinto de seis milhões de esqueletos no CityEngine
Sob o solo da Cidade da Luz se estende um dos maiores ossuários do mundo: as Catacumbas de Paris. Esta vasta rede subterrânea, que originalmente foram pedreiras de calcário, foi transformada entre 1786 e 1814 no último repouso para seis milhões de parisienses, cujos restos foram transferidos de cemitérios superlotados. O que começou como uma solução de saneamento urbano se tornou um labirinto mortal que capturou a imaginação popular e atrai valentes exploradores urbanos. 💀
O labirinto onde a cidade encontra a morte
O verdadeiro mistério das Catacumbas não são apenas os milhões de crânios e fêmures que adornam suas paredes, mas a escala labiríntica de seu design. Com mais de 300 quilômetros de túneis que serpenteiam sob Paris, apenas uma pequena fração está aberta ao público oficialmente. Ao longo dos anos, numerosos exploradores se perderam nesta rede escura, alguns permanentemente. A presença avassaladora da morte se manifesta não apenas visualmente, mas através de uma atmosfera opressiva que gerou incontáveis relatos de fenômenos paranormais e encontros fantasmagóricos. 🌫️
Características únicas das Catacumbas:- Paredes compostas por padrões geométricos de crânios e ossos longos
- Túneis que se estendem 300+ km sob Paris
- Atmosfera constante de 14°C com 95% de umidade
Uma rede subterrânea onde os visitantes se perderam irremediavelmente, rodeados pela densidade da morte
Configuração inicial do projeto no CityEngine
Para recriar as Catacumbas no CityEngine, começamos criando um novo projeto com um terreno plano que represente o nível do solo de Paris. Estabelecemos o sistema de coordenadas em metros e definimos uma área de trabalho de 2000x2000 metros para cobrir a extensão aproximada das catacumbas. No Inspector de Cena, configuramos as unidades em metros e ativamos o sistema de snapping para um design preciso dos túneis. 🗺️
Configuração base do projeto:- Área de trabalho: 2000x2000 metros
- Unidades: Métricas (metros)
- Sistema de coordenadas: Y-up para consistência
Design do grafo de ruas labiríntico
O coração da geração procedural no CityEngine é o grafo de ruas. Criamos um padrão de ruas orgânico usando a ferramenta Street Growth com parâmetros de variação de ângulo alto (45-90°) e variação de comprimento médio. Aplicamos múltiplos seed points distribuídos aleatoriamente para gerar um labirinto naturalista que imite o crescimento orgânico das antigas pedreiras. Os nós de interseção devem ter raio mínimo para criar esquinas fechadas. 🕸️
Parâmetros do grafo de ruas:- Angle Variation: 45°-90° para padrões irregulares
- Street Length: 10-50 metros variação
- Segment Curvature: 0.3 para curvas suaves
Regras CGA para geração de túneis
As regras CGA (Computer Generated Architecture) são a alma do CityEngine. Criamos uma regra chamada CatacombTunnel.cga que começa com:
@StartRule
Tunnel -->
offset(-0.5)
comp(f) { side : Wall | top : Ceiling | bottom : Floor }
Esta regra básica extruda a forma do túnel e separa as faces para aplicar diferentes texturas e geometrias a paredes, teto e chão. O offset negativo cria o volume escavado do túnel. 🏗️
Estrutura básica de regras:- @StartRule: Ponto de entrada da geração
- comp(f): Decompõe a forma em faces
- offset: Cria o volume do túnel
Geração procedural de paredes de ossos
Para as icônicas paredes de ossos, desenvolvemos regras CGA complexas:
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 as paredes em padrões regulares e alterna fileiras de crânios e ossos longos baseando-se na área disponível. As condições case permitem variação conforme o contexto geométrico. 💀
Componentes do sistema ósseo:- SkullRow: Fileira de crânios organizados
- BoneRow: Fileira de fêmures e tíbias
- Seções de pedra: Áreas de pedra natural
Sistema de iluminação e atmosfera
A iluminação é crucial para a atmosfera opressiva. No CityEngine, configuramos luzes pontuais estratégicas que simulam iluminação artificial antiga:
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 luzes são distribuídas proceduralmente a cada 20-30 metros ao longo dos túneis principais, criando zonas de penumbra intercaladas com escuridão profunda. A temperatura de cor quente replica lâmpadas de óleo históricas. 💡
Parâmetros de iluminação:- Cor: Quente #ffcc99 para tochas
- Intensidade: 0.5-0.8 para efeito tênue
- Distribuição: A cada 20-30 metros
Variação e aleatoriedade controlada
Para evitar repetições evidentes, implementamos variação procedural usando funções de ruído e condições contextuais:
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 cria padrões únicos mas coerentes, com variações na densidade e estado de conservação dos ossos que refletem a realidade histórica. 🎲
Elementos de variação:- Densidade de ossos: 60-80% cobertura
- Estados de conservação: Intacto, erodido, quebrado
- Padrões: Regular, agrupado, disperso
Exportação para motores de jogo
Uma vez geradas as catacumbas, as exportamos para formatos padrão usando o CityEngine Exporter. Para Unity, exportamos como FBX com LOD groups. Para Unreal Engine, usamos formato Datasmith que preserva os materiais e a organização da cena. As regras CGA são compiladas em geometria estática otimizada para renderização em tempo real. 📤
Opções de exportação:- FBX: Para Unity e outros motores
- glTF: Para aplicações web e móveis
- OBJ: Como formato universal de backup
Aplicações do modelo gerado
O modelo das Catacumbas gerado no CityEngine tem múltiplas aplicações: desde ambientes para videogames de terror até ferramentas educacionais de realidade virtual que permitem explorar este sítio histórico sem riscos. A natureza paramétrica do modelo permite gerar variações infinitas para diferentes propósitos, mantendo sempre a essência labiríntica e opressiva do original. 🎮
O futuro do patrimônio cultural procedural
A recriação das Catacumbas de Paris no CityEngine representa a vanguarda na preservação digital. Ao capturar não apenas a geometria, mas as regras subjacentes de sua construção, criamos um modelo vivo que pode evoluir e se adaptar a diferentes necessidades. Esta abordagem democratiza o acesso a sítios históricos perigosos ou inacessíveis, permitindo que estudantes, pesquisadores e artistas experimentem estes espaços de maneira segura enquanto se preserva seu legado para as gerações futuras. ✨