آخر الأخبار
إصدار Modeler 26.5 لـHoudini مع دعم Houdini 22PFTrack Solo يتيح الوصول إلى جميع عقد Studio وEnterpriseتركيب الرندر المعماري في Blender: طبقات العرض وتعديل الألواندليل Unreal Engine World Partition: إدارة المشاهد الكبيرة بالخلايا وData Layersإضافة الصوت والصورة إلى فيديو عرض معماري في Blender Video SequencerNamed Attribute في Blender Geometry Nodes: الاستخدام خطوة بخطوةدليل كتابة مطالبات الفيديو المعماري باستخدام Gemini Omni Flash وVeo 3.1دليل Unreal Engine GPU Lightmass وLightmap UV للمشاهد المعماريةنُشر مشروع Hongling Middle School Shixia Campus على ArchDailyPolyReduce وRemesh في Houdini: دليل عملي للنماذج المعمارية
نصائح وأدلةUnreal Engine

دليل Unreal Engine World Partition: إدارة المشاهد الكبيرة بالخلايا وData Layers

تشرح الوثائق الرسمية لـUnreal Engine كيفية إدارة الخرائط الكبيرة عبر الخلايا باستخدام World Partition، وتنظيم عناصر المشهد وتحميلها عبر Data Layers. يلخّص هذا الدليل الإعداد الأساسي وأهم النقاط التي تستحق الانتباه.

مشهد بيئة معمارية واسعة، بأرض مقسمة إلى خلايا ومبانٍ حديثةصورة بالذكاء الاصطناعي
صورة تعبيرية مولّدة بالذكاء الاصطناعي.الصورة: 3dsınıfı / FCA AI

باختصار

  1. يحتفظ World Partition بالعالم في ملف مستوى دائم واحد، ويقسّم المساحة إلى خلايا ملائمة للتدفّق.
  2. تجمع Data Layers الممثلين في طبقات منفصلة لتنظيم المحرر أو استخدامها وقت التشغيل.
  3. في قالب مستوى Open World، تكون World Partition وOne File Per Actor وData Layers وHierarchical Levels of Detail مفعّلة افتراضيًا.
  4. قد يؤثر تحميل عدد كبير من الأصول في الوقت نفسه، والإفراط في استخدام Runtime Data Layers، سلبًا في الأداء.

تشرح الوثائق الرسمية لـUnreal Engine كيفية استخدام World Partition لإدارة الخرائط الكبيرة، ونظام Data Layers لتجميع عناصر المشهد. يستهدف هذا الدليل فرق التصوّر المعماري والعروض التقديمية الآنية ومشاهد البيئات الكبيرة التي تريد إعداد هذه الأنظمة في المحرر، وفهم تدفّق الخلايا، واستخدام الطبقات بصورة مدروسة. لا تقدّم الوثائق معلومات عامة عن التوافق مع إصدار واحد من Unreal Engine؛ لكن مثال تحويل Data Layer يستخدم مسار المجلد UE_5.1. ولا يعني هذا المثال أن الميزة تقتصر على ذلك الإصدار.

1. فعّل World Partition وتعرّف على طريقة عمله

يقلّل World Partition الحاجة إلى تقسيم المستوى الكبير يدويًا إلى مستويات فرعية. يُخزَّن العالم في ملف Level دائم واحد، ويُقسَّم إلى خلايا ضمن شبكة وقت تشغيل قابلة للتهيئة. وتُحمَّل الخلايا أو تُزال بحسب موقع مصدر تدفّق، مثل اللاعب، ما يتيح تحميل المناطق المطلوبة حاليًا إلى الذاكرة.

عند إنشاء مشروع جديد، يمكن استخدام القوالب ضمن فئة Games؛ وتشير الوثائق إلى أن World Partition مفعّلة في معظم هذه القوالب. أما قالب مستوى Open World المصمم للمساحات المفتوحة الكبيرة، فيأتي مع تفعيل World Partition وOne File Per Actor وData Layers وHierarchical Levels of Detail. وتتضمن الخريطة النموذجية في هذا القالب Landscape بمساحة 2 km x 2 km وإعدادًا لإضاءة المشاهد الخارجية.

لتحويل مستوى قائم، استخدم المسار Tools > Convert Level أو استفد من World Partition Convert Commandlet. إذا أردت الحفاظ على المستوى الأصلي واختباره قبل التحويل، فإن الخيار -ConversionSuffix الوارد في الوثائق يضيف اللاحقة _WP إلى الخريطة المحوّلة. أما -ReportOnly فيُصدر تقريرًا بالعمليات التي ستُنفَّذ من دون إجراء التحويل. ويساعد التحقق من هذه الخيارات في نسخة عمل على تنفيذ العمليات التي قد تؤثر في الملفات المصدرية بمزيد من التحكم.

2. اضبط تدفّق الخلايا ومسافة التحميل

يحدّد إعداد Is Spatially Loaded، الموجود في قسم World Partition ضمن لوحة Details، علاقة الممثل بالخلايا. تُحمّل الممثلون الذين يكون هذا الإعداد مفعّلًا لديهم عند دخولهم نطاق مصدر تدفّق، ما لم يُسنَدوا إلى Data Layer معطّلة. وإذا أُوقف الإعداد، يُحمّل الممثل ما لم تكن هناك Data Layer تعطلّه. لذلك، راعِ تأثير هذا الإعداد عند الفصل بين العناصر التي يجب أن تظل متاحة دائمًا وأصول البيئة المرتبطة بمنطقة معينة.

توجد إعدادات شبكة وقت التشغيل في قسم World Partition Setup ضمن لوحة World Settings. وتذكر الوثائق أن شبكة 2D Runtime Hash موجودة افتراضيًا، وأن استخدام أكثر من شبكة قد يؤثر سلبًا في الأداء. يحدّد Cell Size حجم خلايا التدفّق التي تُنشأ، بينما يحدّد Loading Range المسافة التي تُحمّل عندها الخلايا من مصدر التدفق. القياسات أدناه أمثلة واردة في الوثائق الرسمية، ولا ينبغي اعتبارها إعدادات ثابتة موصى بها لكل مشروع.

الإعدادالقيمة المقترحةالتأثير
Cell Sizeالمثال الوارد في الوثائق: 256 m x 256 m x 256 mيحدّد حجم الخلايا المستخدمة لإنشاء مستويات التدفّق.
Loading Rangeالمثال الوارد في الوثائق: نصف قطر 768 mيحدّد النطاق الذي تُحمّل ضمنه الخلايا حول مصدر التدفق.
عدد Runtime Gridتشير الوثائق إلى أن تعدد الشبكات قد يؤثر سلبًا في الأداء، ولا توصي بعدد ثابت.يؤثر في تنظيم تحميل الخلايا وقت التشغيل.

لمعاينة خطوط الشبكة في الـviewport، استخدم خيار Preview Grids. يكون Player Controller مفعّلًا افتراضيًا بوصفه مصدر التدفق؛ ويمكن أيضًا إضافة مكوّن World Partition Streaming Source. وتحدّد إعدادات المكوّن، مثل Target Grid وPriority وTarget State، خلايا الشبكة التي ستتأثر وما إذا كانت الحالة المستهدفة Loaded أم Activated.

3. نظّم عناصر المشهد باستخدام Data Layers

تُستخدم Data Layers لتنظيم الممثلين في المحرر ووقت التشغيل. ومن المهم التمييز بين جزأين: يحمل Data Layer Asset معلومات مشتركة على مستوى المشروع، بينما يمثّل Data Layer Instance نسخة خاصة بعالم محدد. وبذلك يمكن استخدام Asset نفسه في عوالم مختلفة، مع امتلاك كل Instance إعداداته الخاصة بالعالم.

لإنشاء Asset جديد، انتقل إلى المجلد المطلوب في Content Browser واختر Miscellaneous > Data Layer. بعد ذلك، افتح نافذة Window > World Partition > Data Layer Outliner، وانقر بزر الفأرة الأيمن لإنشاء Instance عبر Create New Data Layer. ثم اربط به Asset المناسب. لإضافة الممثلين المحددين إلى الطبقة، يمكنك استخدام الأمر Add Selected Actors to Selected Data Layers من قائمة السياق في Outliner، أو إسنادهم من قسم Data Layers في لوحة Details الخاصة بالممثل.

تُستخدم Editor Data Layers لتنظيم الأصول ضمن المشروع وتحميلها في المحرر وتغيير مستوى ظهورها. أما Runtime Data Layers فيمكن التحكم فيها أثناء التشغيل عبر Blueprint أو C++. فعلى سبيل المثال، يساعد وضع ترتيبات مشاهد مختلفة أو عناصر فعاليات في طبقات منفصلة وتحميلها عند الحاجة على إدارة أجزاء مشهد عرض كبير. وهذا الاستخدام تكييف لوظيفة تحميل الطبقات وإلغاء تحميلها الموضحة في الوثائق مع العروض المعمارية؛ ولا يشكّل ضمانًا لدعم برنامج تصوّر محدد أو لترتيب مشروع جاهز.

4. نقاط يجب مراعاتها في سير عمل التصوّر المعماري

يمكن للفرق التي تعمل على نماذج بيئات واسعة أو خيارات مناطق مختلفة أو عروض تفاعلية تقسيم المشهد إلى خلايا باستخدام World Partition، وتحميل المناطق المعنية وفقًا لمصادر التدفق. أما Data Layers، فيمكن استخدامها للفصل بين تنظيم المحرر ومنطق اللعبة، أو لتفعيل عناصر مختلفة من البيئة نفسها بصورة مدروسة. وباستخدام One File Per Actor، تُخزَّن الممثلون في ملفات منفصلة؛ وتشير الوثائق الرسمية إلى أن هذا قد يقلّل حاجة أعضاء الفريق إلى التحكم في ملف Level نفسه.

مع ذلك، لا يُعدّ الإكثار من الطبقات بلا حدود نهجًا سليمًا. فوفقًا لوثائق Epic، قد يؤدي تحميل عدد كبير جدًا من الأصول في الوقت نفسه إلى مشكلات في الأداء. كما أن الأصول الشائعة المستخدمة في عدد كبير من Runtime Data Layer Instances قد تخفض أداء التدفّق في World Partition. لذلك، اختبر تحميل الخلايا واستخدام الطبقات في مشهدك الفعلي، ولا توزّع الأصول على عدد كبير من طبقات وقت التشغيل لمجرد إنشاء تصنيفات.

أخطاء شائعة

  • عدم التحقق من تفعيل World Partition في الخريطة عند إعداد سير عمل Data Layers الذي يتطلبها. يمكن تجهيز المستويات القائمة باستخدام Tools > Convert Level أو أداة التحويل.

  • الخلط بين Data Layer Asset وData Layer Instance. يُستخدم Asset على مستوى المشروع، بينما يُستخدم Instance على مستوى العالم.

  • تطبيق المثالين Cell Size وLoading Range كأنهما قيمتان ثابتتان مناسبتان لكل مشهد. تقدمهما الوثائق بوصفهما مثالين، ويجب إجراء اختبارات خاصة بالمشروع.

  • تحميل عدد كبير من الأصول في الوقت نفسه أو عبر عدد مفرط من Runtime Data Layers. تحذّر الوثائق الرسمية من أن ذلك قد يسبب مشكلات في الأداء.

بعد الإعداد، اختبر إسناد الممثلين وعرض الخلايا وسلوك التحميل أولًا في مساحة عمل صغيرة. وإذا كان التحويل ضروريًا، فراجع الخيارات واختر سير عمل للاختبار يحافظ على المستوى الأصلي؛ فهذا يساعد على رصد أثر التغييرات في تنظيم المشهد وعمل الفريق في وقت مبكر.

المصادر

2 مصادر
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/world-partition-in-unreal-engine
ملخص
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/world-partition---data-layers-in-unreal-engine
ملخص

لا نعيد نشر نصوص المصادر؛ الاقتباسات القصيرة مشار إليها، وما تبقى ملخص وتعليق من إعدادنا.

رأي 3dsınıfı
3dتقييم المحرر

بالنسبة إلى الفرق في تركيا التي تُعدّ مشاهد بيئات كبيرة وعروضًا معمارية تفاعلية، يوفّر World Partition تنظيمًا قد يخفف عبء إدارة المستوى كاملًا دفعة واحدة. ويمكن أن تساعد Data Layers أيضًا على الفصل بين تنظيم عناصر البيئة في المحرر وسلوكها وقت التشغيل. وقد يكون تخزين الممثلين في ملفات منفصلة ميزة عملية، لا سيما في المكاتب التي يعمل فيها أكثر من شخص على المشروع نفسه.

لكن من الأفضل اختبار الإعدادات على المشهد المستخدم بدلًا من نسخ القيم الواردة في الأمثلة مباشرة. وتوضح الوثائق أن الإفراط في التحميل واستخدام عدد كبير من Runtime Data Layers قد يضران بالأداء. ينبغي للفرق التحقق من مشاريعها وسير عملها قبل التحويل؛ وبما أن هذه الوثائق لا تتناول الأجهزة الحالية أو شروط الترخيص، فعليها التحقق من هذه الأمور على نحو منفصل.

الأسئلة الشائعة

ما فائدة Unreal Engine World Partition؟

يقسّم العوالم الكبيرة إلى خلايا ضمن مستوى دائم واحد. وتُحمّل الخلايا أو تُزال بحسب موقع مصادر التدفق، مثل اللاعب.

كيف تُنشئ Data Layer في Unreal Engine؟

أنشئ Asset من Content Browser عبر `Miscellaneous > Data Layer`. بعد ذلك، أنشئ Instance من Data Layer Outliner باستخدام `Create New Data Layer`، ثم اربط به Asset.

هل يمكن الحفاظ على المستوى الأصلي عند تحويل World Partition؟

يضيف الخيار `-ConversionSuffix` الوارد في الوثائق الرسمية اللاحقة `_WP` إلى الخريطة المحوّلة، ما يساعد على إبقاء المستوى الأصلي منفصلًا لأغراض الاختبار. أما `-ReportOnly` فيُصدر تقريرًا من دون إجراء التحويل.

التعليقات والمنتدى باللغة التركية.شارك في النقاش
+

أخبار ذات صلة