
Die Katakomben von Paris: Das Labyrinth aus sechs Millionen Skeletten in CityEngine nachbauen
Unter dem Boden der Stadt des Lichts erstreckt sich eines der größten Ossuars der Welt: die Katakomben von Paris. Dieses riesige unterirdische Netzwerk, das ursprünglich Kalksteinbrüche waren, wurde zwischen 1786 und 1814 in die letzte Ruhestätte für sechs Millionen Pariser verwandelt, deren Überreste aus überfüllten Friedhöfen umgelagert wurden. Was als städtische Hygienelösung begann, wurde zu einem tödlichen Labyrinth, das die populäre Fantasie gefangen nimmt und mutige urbane Erkunder anzieht. 💀
Das Labyrinth, in dem die Stadt dem Tod begegnet
Das wahre Geheimnis der Katakomben sind nicht nur die Millionen von Schädeln und Femora, die ihre Wände schmücken, sondern die labyrinthartige Skala ihres Designs. Mit über 300 Kilometern Tunneln, die unter Paris serpentinartig verlaufen, ist nur ein kleiner Bruchteil offiziell für die Öffentlichkeit zugänglich. Im Laufe der Jahre haben sich zahlreiche Erkunder in diesem dunklen Netz verirrt, einige für immer. Die überwältigende Präsenz des Todes manifestiert sich nicht nur visuell, sondern durch eine bedrückende Atmosphäre, die unzählige Berichte über paranormale Phänomene und geisterhafte Begegnungen hervorgebracht hat. 🌫️
Einzigartige Merkmale der Katakomben:- Wände bestehend aus geometrischen Mustern von Schädeln und langen Knochen
- Tunnel, die sich über 300+ km unter Paris erstrecken
- Konstante Atmosphäre von 14°C mit 95% Luftfeuchtigkeit
Ein unterirdisches Netzwerk, in dem Besucher sich unwiderruflich verirrt haben, umgeben von der Dichte des Todes
Anfängliche Projektkonfiguration in CityEngine
Um die Katakomben in CityEngine nachzubauen, beginnen wir mit der Erstellung eines neuen Projekts mit einem flachen Terrain, das das Bodenniveau von Paris darstellt. Wir legen das Koordinatensystem in Metern fest und definieren einen Arbeitsbereich von 2000x2000 Metern, um die ungefähre Ausdehnung der Katakomben abzudecken. Im Szeneninspektor stellen wir die Einheiten auf Meter ein und aktivieren das Snapping-System für ein präzises Design der Tunnel. 🗺️
Basisprojektkonfiguration:- Arbeitsbereich: 2000x2000 Meter
- Einheiten: Metrisch (Meter)
- Koordinatensystem: Y-up für Konsistenz
Design des labyrinthartigen Straßengrafen
Das Herz der prozeduralen Generierung in CityEngine ist der Straßengraf. Wir erstellen ein organisches Straßenmuster mit dem Street Growth Tool und Parametern für hohe Winkelvariation (45-90°) und mittlere Längenvariation. Wir wenden mehrere zufällig verteilte Seed-Punkte an, um ein naturalistisches Labyrinth zu erzeugen, das das organische Wachstum der alten Brüche imitiert. Die Kreuzungsknoten müssen ein minimales Radius haben, um enge Ecken zu schaffen. 🕸️
Parameter des Straßengrafen:- Winkelvariation: 45°-90° für unregelmäßige Muster
- Straßenlänge: 10-50 Meter Variation
- Segmentkrümmung: 0.3 für weiche Kurven
CGA-Regeln für die Tunnelgenerierung
Die CGA-Regeln (Computer Generated Architecture) sind die Seele von CityEngine. Wir erstellen eine Regel namens CatacombTunnel.cga, die mit folgendem beginnt:
@StartRule
Tunnel -->
offset(-0.5)
comp(f) { side : Wall | top : Ceiling | bottom : Floor }
Diese Basisregel extrudiert die Tunnelform und trennt die Flächen, um unterschiedliche Texturen und Geometrien auf Wände, Decke und Boden anzuwenden. Der negative Offset erzeugt das ausgehöhlte Volumen des Tunnels. 🏗️
Grundstruktur der Regeln:- @StartRule: Einstiegspunkt der Generierung
- comp(f): Zerlegt die Form in Flächen
- offset: Erzeugt das Tunnelvolumen
Prozedurale Generierung von Knochenwänden
Für die ikonischen Knochenwände entwickeln wir komplexe CGA-Regeln:
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")
Dieses System teilt die Wände in regelmäßige Muster und wechselt Reihen von Schädeln und langen Knochen basierend auf dem verfügbaren Bereich. Die case-Bedingungen ermöglichen Variation je nach geometrischem Kontext. 💀
Komponenten des Knochensystems:- SkullRow: Reihe von organisierten Schädeln
- BoneRow: Reihe von Femora und Tibias
- Steinabschnitte: Bereiche aus natürlichem Stein
Beleuchtungs- und Atmosphärensystem
Die Beleuchtung ist entscheidend für die bedrückende Atmosphäre. In CityEngine konfigurieren wir strategisch platzierte Punktlichter, die alte künstliche Beleuchtung simulieren:
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])
Diese Lichter werden prozedural alle 20-30 Meter entlang der Haupttunnel verteilt und erzeugen Halbschattenbereiche, die mit tiefer Dunkelheit wechseln. Die warme Farbtemperatur repliziert historische Öllampen. 💡
Beleuchtungsparameter:- Farbe: Warm #ffcc99 für Fackeln
- Intensität: 0.5-0.8 für schwaches Licht
- Verteilung: Alle 20-30 Meter
Kontrollierte Variation und Zufälligkeit
Um offensichtliche Wiederholungen zu vermeiden, implementieren wir prozedurale Variation mit Rauschfunktionen und kontextuellen Bedingungen:
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")
Dieses System erzeugt einzigartige, aber kohärente Muster mit Variationen in Dichte und Erhaltungszustand der Knochen, die die historische Realität widerspiegeln. 🎲
Elemente der Variation:- Knochen-Dichte: 60-80% Abdeckung
- Erhaltungszustände: Intakt, erodiert, gebrochen
- Muster: Regelmäßig, gruppiert, verteilt
Export für Spiele-Engines
Sobald die Katakomben generiert sind, exportieren wir sie in Standardformate mit dem CityEngine Exporter. Für Unity exportieren wir als FBX mit LOD-Gruppen. Für Unreal Engine verwenden wir das Datasmith-Format, das Materialien und Szenenorganisation erhält. Die CGA-Regeln werden in optimierte statische Geometrie für Echtzeit-Rendering kompiliert. 📤
Exportoptionen:- FBX: Für Unity und andere Engines
- glTF: Für Web- und Mobile-Anwendungen
- OBJ: Als universelles Backup-Format
Anwendungen des generierten Modells
Das in CityEngine generierte Katakomben-Modell hat vielfältige Anwendungen: von Umgebungen für Horror-Videospiele bis zu Bildungstools in Virtual Reality, die es ermöglichen, diesen historischen Ort risikofrei zu erkunden. Die parametrische Natur des Modells erlaubt unendliche Variationen für unterschiedliche Zwecke, während die labyrinthartige und bedrückende Essenz des Originals immer erhalten bleibt. 🎮
Die Zukunft des prozeduralen Kulturerbes
Die Nachbildung der Katakomben von Paris in CityEngine stellt die Spitze der digitalen Erhaltung dar. Indem wir nicht nur die Geometrie, sondern die zugrunde liegenden Regeln ihrer Konstruktion erfassen, schaffen wir ein lebendiges Modell, das sich weiterentwickeln und an unterschiedliche Bedürfnisse anpassen kann. Dieser Ansatz demokratisiert den Zugang zu gefährlichen oder unzugänglichen historischen Stätten und ermöglicht es Studierenden, Forschern und Künstlern, diese Räume sicher zu erleben, während ihr Erbe für zukünftige Generationen bewahrt wird. ✨