
مقابر باريس: إعادة خلق متاهة ستة ملايين هيكل عظمي في CityEngine
تحت أرض مدينة النور تمتد واحدة من أكبر مقابر العظام في العالم: مقابر باريس. هذه الشبكة الجوفية الشاسعة، التي كانت في الأصل محاجر حجر جيري، تم تحويلها بين عامي 1786 و1814 إلى مكان الراحة الأخير لستة ملايين باريسي، حيث تم نقل رفاتهم من المقابر المزدحمة. ما بدأ كحل لتنظيف المدينة تحول إلى متاهة مميتة أسرت خيال الجمهور وتجذب المستكشفين الحضريين الشجعان. 💀
المتاهة حيث تلتقي المدينة بالموت
الغموض الحقيقي لمقابر باريس ليس فقط الملايين من الجماجم والفخذيات التي تزين جدرانها، بل هو الحجم المتاهي لتصميمها. مع أكثر من 300 كيلومتر من الأنفاق التي تتلوى تحت باريس، فإن جزءًا صغيرًا فقط مفتوح رسميًا للجمهور. على مر السنين، ضاع العديد من المستكشفين في هذه الشبكة المظلمة، وبعضهم إلى الأبد. الوجود الساحق للموت يتجلى ليس فقط بصريًا، بل من خلال جو خانق أدى إلى قصص لا حصر لها عن ظواهر خارقة للطبيعة ولقاءات أشباح. 🌫️
الخصائص الفريدة لمقابر باريس:
- جدران مكونة من أنماط هندسية من الجماجم والعظام الطويلة
- أنفاق تمتد 300+ كم تحت باريس
- جو ثابت عند 14°م مع 95% رطوبة
شبكة جوفية حيث ضاع الزوار بشكل لا رجعة فيه، محاطين بكثافة الموت
إعداد مشروع CityEngine الأولي
لإعادة خلق مقابر باريس في CityEngine، نبدأ بإنشاء مشروع جديد مع تضاريس مسطحة تمثل مستوى أرض باريس. نحدد نظام الإحداثيات بالأمتار ونعرف منطقة عمل بحجم 2000x2000 متر لتغطية امتداد مقابر باريس التقريبي. في مدقق المشهد، نحدد الوحدات بالأمتار ونفعل نظام الالتصاق لتصميم دقيق للأنفاق. 🗺️
إعداد مشروع أساسي:
- منطقة العمل: 2000x2000 متر
- الوحدات: مترية (أمتار)
- نظام الإحداثيات: Y-up للتوافق
تصميم رسم بياني للشوارع المتاهي
قلب الإنتاج الإجرائي في CityEngine هو رسم بياني الشوارع. ننشئ نمط شوارع عضوي باستخدام أداة Street Growth مع معلمات تباين زاوية عالي (45-90°) وتباين طول متوسط. نطبق نقاط بذور متعددة موزعة عشوائيًا لتوليد متاهة طبيعية تحاكي النمو العضوي للمحاجر القديمة. يجب أن تكون عقد التقاطع براديوس أدنى لإنشاء زوايا مغلقة. 🕸️
معلمات رسم بياني الشوارع:
- تباين الزاوية: 45°-90° لأنماط غير منتظمة
- طول الشارع: 10-50 متر تباين
- انحناء القطعة: 0.3 لمنحنيات ناعمة
قواعد CGA لتوليد الأنفاق
قواعد CGA (Computer Generated Architecture) هي روح CityEngine. ننشئ قاعدة تسمى CatacombTunnel.cga التي تبدأ بـ:
@StartRule
Tunnel -->
offset(-0.5)
comp(f) { side : Wall | top : Ceiling | bottom : Floor }
هذه القاعدة الأساسية تبرز شكل النفق وتفصل الوجوه لتطبيق ملمس وهندسة مختلفة على الجدران والسقف والأرضية. الإزاحة السالبة تخلق حجم النفق المحفور. 🏗️
هيكل قواعد أساسي:
- @StartRule: نقطة دخول التوليد
- comp(f): تفكيك الشكل إلى وجوه
- offset: إنشاء حجم النفق
توليد إجرائي لجدران العظام
لجدران العظام الأيقونية، طورنا قواعد CGA معقدة:
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")
هذا النظام يقسم الجدران إلى أنماط منتظمة ويبدل صفوف الجماجم والعظام الطويلة بناءً على المساحة المتاحة. شروط case تسمح بالتباين حسب السياق الهندسي. 💀
مكونات نظام العظام:
- SkullRow: صف من الجماجم المنظمة
- BoneRow: صف من الفخذيات والساقيات
- أقسام الحجر: مناطق حجر طبيعي
نظام الإضاءة والجو
الإضاءة حاسمة للجو الخانق. في CityEngine، نحدد أضواء نقطية استراتيجية تحاكي إضاءة اصطناعية قديمة:
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])
هذه الأضواء توزع إجرائيًا كل 20-30 متر على طول الأنفاق الرئيسية، مما يخلق مناطق ظلال متداخلة مع ظلام عميق. درجة الحرارة اللونية الدافئة تحاكي مصابيح الزيت التاريخية. 💡
معلمات الإضاءة:
- اللون: دافئ #ffcc99 للمشاعل
- الشدة: 0.5-0.8 لتأثير خافت
- التوزيع: كل 20-30 متر
التباين والعشوائية المتحكم فيها
لتجنب التكرارات الواضحة، طبقنا تباينًا إجرائيًا باستخدام وظائف الضوضاء والشروط السياقية:
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")
هذا النظام يخلق أنماطًا فريدة لكن متماسكة، مع تباينات في الكثافة وحالة الحفظ للعظام تعكس الواقع التاريخي. 🎲
عناصر التباين:
- كثافة العظام: 60-80% تغطية
- حالات الحفظ: سليم، متآكل، مكسور
- الأنماط: منتظم، مجمع، مبعثر
التصدير لمحركات الألعاب
بمجرد توليد مقابر باريس، نصدرها إلى صيغ قياسية باستخدام CityEngine Exporter. لـUnity، نصدر كـFBX مع مجموعات LOD. لـUnreal Engine، نستخدم صيغة Datasmith التي تحافظ على المواد وتنظيم المشهد. قواعد CGA تُترجم إلى هندسة ثابتة محسنة للعرض في الوقت الفعلي. 📤
خيارات التصدير:
- FBX: لـUnity ومحركات أخرى
- glTF: للتطبيقات الويبية والمتنقلة
- OBJ: كصيغة احتياطية عالمية
تطبيقات النموذج المولد
نموذج مقابر باريس المولد في CityEngine له تطبيقات متعددة: من بيئات ألعاب الرعب إلى أدوات تعليمية واقع افتراضي تسمح باستكشاف هذا الموقع التاريخي دون مخاطر. الطبيعة البارامترية للنموذج تسمح بتوليد تباينات لا نهائية لأغراض مختلفة، مع الحفاظ دائمًا على الجوهر المتاهي والخانق للأصل. 🎮
مستقبل التراث الثقافي الإجرائي
إعادة خلق مقابر باريس في CityEngine يمثل طليعة الحفظ الرقمي. بتسجيل ليس فقط الهندسة، بل قواعد بنائها الأساسية، ننشئ نموذجًا حيًا يمكن أن يتطور ويتكيف مع احتياجات مختلفة. هذا النهج يُديمقرط الوصول إلى المواقع التاريخية الخطرة أو غير القابلة للوصول، مما يسمح للطلاب والباحثين والفنانين بتجربة هذه المساحات بأمان بينما يحفظ تراثها للأجيال القادمة. ✨