باختصار
- يحتفظ World Partition بالعالم ضمن Level دائم واحد، ويحمّله ويفرغه على هيئة خلايا قابلة للتهيئة.
- يمثّل HLOD المحتوى في الخلايا غير المحمّلة عبر proxy mesh، ما يتيح ظهور المشاهد البعيدة.
- لإنشاء HLOD، يجب تعيين Actor إلى HLOD Layer، وضبط Mobility على Static، ثم بدء إنشاء HLOD.
- يُذكر أن World Partition مفعّل افتراضيًا في قالب Open World، الذي يتضمن Landscape تجريبيًا بمقاس 2 km x 2 km.
ما الذي ستتعلمه في هذا الدليل؟
في مشهد خارجي كبير، ينبغي الحفاظ على التفاصيل القريبة من الكاميرا، مع إبقاء الجبال والأشجار والمباني البعيدة ظاهرة أيضًا. في Unreal Engine، يقسّم World Partition العالم إلى خلايا، ويحمّل المحتوى أو يفرغه بحسب موقع مصادر البث. أما HLOD (Hierarchical Level of Detail)، فيمكنه تمثيل محتوى الخلايا غير المحمّلة حاليًا باستخدام proxy mesh.
سنتناول في هذا الدليل خيارات إنشاء Level ملائم لـ World Partition أو تحويل Level موجود، وإنشاء HLOD Layer، وإنتاج HLOD. والهدف هو إعداد بيئة معمارية كبيرة أو مشهد تصور واسع لتدفق أكثر قابلية للإدارة. لا تحدد الوثائق إصدارًا بعينه من Unreal Engine، لذلك لا ترتبط الخطوات برقم إصدار محدد.
المتطلبات واختيار نقطة البداية
لا تسرد الوثائق المصدرية أي متطلبات إلزامية لبرامج أو أنواع حسابات أو أجهزة، باستثناء Unreal Engine. وتحدد ثلاث طرق لاستخدام World Partition في المشروع: إنشاء مشروع انطلاقًا من قالب ضمن فئة Games، أو اختيار Open World Level، أو تحويل Level موجود.
الخيار الأكثر مباشرة للبدء هو خريطة Open World. انتقل إلى File > New Level في Unreal Engine، واختر نوع الخريطة Open World، ثم اضغط Create. يفعّل هذا القالب افتراضيًا World Partition وOne File Per Actor وData Layers وHLOD. كما تتضمن الخريطة التجريبية Landscape بمقاس 2 km x 2 km وإعدادًا لإضاءة المشاهد الخارجية.
إذا كنت تعمل على Level موجود، فيمكنك تحويله عبر خيار القائمة Tools > Convert Level. وتشرح الوثائق الرسمية أيضًا خيار استخدام World Partition Convert Commandlet عبر سطر الأوامر. إذا أردت الاحتفاظ بـ Level الأصلي قبل التحويل، يتيح الخيار -ConversionSuffix إضافة اللاحقة _WP إلى الخريطة المحوّلة. أما -ReportOnly فيصدر تقريرًا بالتحويل المحتمل من دون تنفيذه. حدّد مسار التحويل المناسب قبل استخدام هذه الخيارات على المشروع.
1. فهم آلية تدفق World Partition
يخزّن World Partition العالم في ملف Level دائم واحد، ويقسّم المساحة إلى خلايا. وتُحمّل الخلايا أو تُفرغ بحسب مواقع مصادر التدفق، مثل Player Controller، وإعدادات runtime grid. وبهذا لا يُحمّل المشهد بأكمله في الوقت نفسه، بل تُعالج الأجزاء المطلوبة في تلك اللحظة.
يحدد خيار Is Spatially Loaded، الموجود ضمن قسم World Partition في لوحة Details، ما إذا كان Actor سيُحمّل مكانيًا. عند تفعيل الخيار، يُحمّل Actor عندما يدخل ضمن نطاق مصدر تدفق؛ وعند تعطيله، يُحمّل ما لم يكن في Data Layer معطّلة. توجد إعدادات runtime grid، مثل حجم الخلية ونطاق التحميل، ضمن قسم World Partition Setup في لوحة World Settings.
يمكن استخدام أكثر من runtime grid، لكن الوثيقة الرسمية تشير إلى أن تعدد الشبكات قد يؤثر سلبًا في الأداء. لذلك، من الحذر البدء بشبكة 2D Runtime Hash الافتراضية، وعدم إنشاء شبكات إضافية قبل اتضاح الحاجة إليها. لا تحدد المصادر قيمة واحدة مثالية لحجم خلايا الشبكة أو مسافة التحميل؛ لذا قيّمها وفقًا لمقياس المشهد ومستوى الرؤية المستهدف.
2. إنشاء HLOD Layer واختيار نوعها
تُدار إعدادات HLOD عبر asset من نوع HLOD Layer. افتح Content Drawer، ثم اتبع المسار + Add > Miscellaneous > HLOD Layer. انقر نقرًا مزدوجًا على asset الجديد لفتح إعداداته. يمكن استخدام أكثر من HLOD Layer في المشروع، ما يتيح تخصيص طبقات منفصلة لمجموعات مختلفة من Actor.
اختر نوع الطبقة وفقًا لطبيعة المحتوى:
Instancing: يمثّل static mesh باستخدام مكونات Instanced Static Mesh التي تستخدم أدنى مستوى من التفاصيل. وتورد الوثيقة الأشجار والنباتات، بما في ذلك استخدام imposter، أمثلةً على هذا النوع.
Merged Mesh: يدمج static mesh في proxy mesh واحد.
Simplified Mesh: يدمج mesh ويطبّق عليه التبسيط أيضًا.
تتضمن إعدادات الطبقة خيارات Always Loaded وCell Size وLoading Range. انتبه إلى أن خياري Cell Size وLoading Range لا يتاحان عند تفعيل Always Loaded. كما تظهر إعدادات إضافية للدمج أو proxy بحسب اختيار Merged Mesh أو Simplified Mesh.
3. تعيين Actor إلى الطبقة وإنشاء HLOD
قبل إنشاء HLOD، عيّن Actor المعني إلى HLOD Layer. تسرد الوثائق ثلاث طرق لذلك: خاصية HLOD في لوحة Details الخاصة بـ Actor، أو إعداد Default HLOD Layer في Data Layer، أو HLOD Layer الافتراضي ضمن World Settings.
اضبط قيمة Mobility في Actor المراد إدراجه في الطبقة على Static. بعد ذلك، ابدأ إنشاء HLOD عبر Build > Build HLODs. ويمكن بدلاً من ذلك استخدام commandlet WorldPartitionHLODsBuilder الوارد في الوثائق الرسمية. بعد اكتمال الإنشاء، يمكن تمثيل المحتوى الموجود في الخلايا غير المحمّلة باستخدام HLOD proxy. ومن أهداف نظام HLOD إبقاء المحتوى البعيد ظاهرًا وتقليل عدد draw call لكل إطار.
أخطاء شائعة
الخطأ الأول هو افتراض تطبيق HLOD تلقائيًا على المشهد. يجب تعيين Actor إلى HLOD Layer، وضبطه على Static، ثم تشغيل إنشاء HLOD بصورة منفصلة. إذا غاب أحد هذه الشروط، فقد لا تظهر نتيجة proxy المتوقعة.
الخطأ الثاني هو اختيار أنواع الطبقات من دون مراعاة اختلاف المحتوى. توثّق Instancing بوصفها خيارًا مناسبًا لمجموعات النباتات، بينما يقدّم Merged Mesh وSimplified Mesh سلوكين مختلفين للدمج. وعلى وجه الخصوص، قد يؤدي Merge Distance في إعداد Simplified Mesh إلى إغلاق الفتحات في الهندسة البعيدة، مثل الأبواب أو النوافذ. لذلك، افحص المخرجات المبسطة من مسافات مختلفة داخل المشهد.
وأخيرًا، لا تطبّق وصفة واحدة على المشهد بأكمله من دون التحقق من إعدادات UV لخريطة الإضاءة، ودمج المواد، وتبسيط mesh. تشير الوثيقة إلى أن بعض ظروف الدمج قد تتسبب في عيوب بصرية. وبما أن المصادر لا تقدم قيمًا للجودة أو الأداء صالحة لكل مشروع، فمن الأسلم تجربة أنواع HLOD المختلفة في أجزاء تمثيلية من المشهد وفحص النتائج.
الخطوات التالية في سير عمل العمارة وarchviz
يمكن الاستفادة من World Partition وHLOD خصوصًا في المشاهد المعمارية ذات السياق البيئي الواسع؛ مثل المشاريع التي تضم تضاريس بعيدة أو غطاءً نباتيًا أو مجموعات مبانٍ في العالم نفسه. وقد يساعد تنظيم الهندسة المعمارية القريبة والبيئة البعيدة ضمن HLOD Layer مختلفة على إدارة الأولويات البصرية كلٌّ على حدة. هذه توصية لسير العمل مستخلصة من أساليب الطبقات والتمثيل المذكورة في المصادر، وليست ضمانًا لتحقيق مكسب محدد في الأداء.
ابدأ بفحص نوع الطبقة وسلوك الخلايا ومخرجات HLOD في جزء صغير من المشهد. ثم تحقّق من فتحات الأبواب والنوافذ وخريطة الإضاءة ومظهر المواد قبل تطبيق ذلك على المشهد بأكمله. ولأن الوثائق لا تحدد متطلبات أجهزة أو شروط ترخيص بعينها، ينبغي أيضًا التحقق من تثبيت Unreal Engine وبيئة العمل التي يستخدمها فريق المشروع قبل بدء الإنتاج.
المصدر والترخيص
أُعد هذا الدليل بتكييف المعلومات الواردة في الوثيقتين الرسميتين من Epic Games، World Partition وWorld Partition – Hierarchical Level of Detail (HLOD)، إلى اللغة التركية. ويُشار إلى أن كلا المصدرين متاحان بترخيص حر ضمن قائمة المصادر المقدمة.
المصادر
2 مصادرلا نعيد نشر نصوص المصادر؛ الاقتباسات القصيرة مشار إليها، وما تبقى ملخص وتعليق من إعدادنا.
يتيح World Partition لفرق العمارة والتصور في تركيا إدارة مشاهد بيئية واسعة ضمن Level واحد. وقد يساعد فصل طبقات HLOD بحسب نوع المحتوى، مثل الغطاء النباتي أو البيئة البعيدة أو مجموعات المباني، على تنظيم المشهد وتحكّم أكثر في إدارته.
لكن المصادر لا تحدد إصدارًا بعينه أو متطلبات أجهزة أو رسوم ترخيص أو مكاسب مضمونة في الأداء. لذلك، من الأنسب أن تختبر الفرق تدفق المشهد وجودة الصورة في جزء تمثيلي، بدلًا من تحويل المشروع بأكمله مباشرة. وينبغي فحص فتحات الأبواب والنوافذ ونتائج المواد، خصوصًا في mesh المبسطة، والتحقق بشكل منفصل من تثبيت Unreal Engine المستخدم وشروط الترخيص.
الأسئلة الشائعة
كيف تفعّل World Partition في Unreal Engine؟
يكون World Partition مفعّلًا افتراضيًا في قالب Open World Level. ويمكن تحويل Level موجود من قائمة Tools > Convert Level أو باستخدام World Partition Convert Commandlet.
كيف تنشئ HLOD Layer في Unreal Engine؟
أنشئ asset باتباع المسار + Add > Miscellaneous > HLOD Layer في Content Drawer. ثم اختر نوعًا من Instancing أو Merged Mesh أو Simplified Mesh.
ما الشروط اللازمة لإنشاء HLOD؟
يجب تعيين Actor إلى HLOD Layer وضبط قيم Mobility على Static. ويمكن بدء الإنشاء من قائمة Build > Build HLODs أو باستخدام commandlet WorldPartitionHLODsBuilder.



