آخر الأخبار
كيفية ضبط نصوص الأبعاد وخطوط المؤشرات في Archicad 29؟كيفية تقليل عدد مضلعات النموذج باستخدام Decimate Modifier في Blenderدليل إدارة تخطيطات الغرف والطوابق المتكررة باستخدام مجموعات RevitVirtual Shadow Maps في Unreal Engine 5: دليل الظلال للمشاهد المعماريةالإعلان عن AMD EPYC Embedded 9006: ‏256 نواة ومنصة SP7دليل إزالة الضوضاء في Blender: تقليل ضوضاء Cycles في compositorحرم متحف كيشان للمدينة يفوز بجائزة العمارة في Altın Karıncaدليل CageEdit في Rhino 8: تشويه مضبوط للنماذج باستخدام القفصكيف تراقب أحداث النموذج باستخدام فئات observer في SketchUp Ruby API؟إنشاء صور مفاهيمية باستخدام SketchUp Diffusion: دليل خطوة بخطوة للمعماريين
دروس تعليميةUnreal EngineOMAMAS

أتمتة Python في Unreal Engine: بداية العمل ضمن المحرر

يشرح هذا الدليل تفعيل دعم Python في Unreal Editor وتشغيل السكربتات عبر وحدة التحكم أو القائمة أو سطر الأوامر أو Blueprints المخصصة للمحرر. لا يمكن استخدام Python لبرمجة أسلوب اللعب.

سير عمل للنمذجة المعمارية الرقمية في استوديو تصميم تغمره الإضاءة الطبيعيةصورة بالذكاء الاصطناعي
صورة تعبيرية مولّدة بالذكاء الاصطناعي.الصورة: 3dsınıfı / FCA AI

باختصار

  1. يتطلب استخدام Python تفعيل Python Editor Script Plugin في كل مشروع وإعادة تشغيل المحرر.
  2. يستخدم Unreal Editor الإصدار المضمّن Python 3.11.8؛ ولا حاجة إلى تثبيت Python بصورة منفصلة.
  3. يمكن تشغيل السكربتات من وحدة التحكم أو قائمة File أو إعدادات بدء التشغيل أو سطر الأوامر.
  4. دعم Python موجّه لأتمتة المحرر؛ ولا يعمل في PIE أو Standalone Game أو الألعاب المعبّأة.

ما الذي ستتعلمه في هذا الدليل؟

ستتعلم تفعيل Python في Unreal Editor، وتشغيل سكربت بسيط، واختيار طريقة الأتمتة المناسبة لاحتياجك. تصنّف وثائق Epic Games دعم Python على أنه تجريبي، وتوصي بتوخي الحذر، خصوصًا عند إصدار المنتجات. لذلك، يركّز الاستخدام الموضح هنا على مهام الإنتاج وإدارة المحتوى داخل المحرر، لا على شيفرة أسلوب اللعب التي تعمل أثناء تشغيل اللعبة.

يمكن استخدام Python كلغة سكربت مشتركة في مسارات الإنتاج التي تربط تطبيقات 3D مختلفة. كما يتيح Unreal Editor أتمتة سير عمل إدارة الأصول، وتنفيذ مهام تستغرق وقتًا مثل إنشاء LOD لـ Static Mesh، ووضع محتوى المستويات بطريقة إجرائية، وإعداد واجهات مخصصة للمحرر. هذه أمثلة على الاستخدامات الواردة في الوثائق، ولا تعني توافر أتمتة جاهزة لكل مشروع.

المتطلبات وإعداد المشروع

توفّر Python ميزاتها عبر Python Editor Script Plugin في Unreal Editor. يجب تفعيل الإضافة لكل مشروع على حدة؛ فتفعيلها في مشروع لا يفعّلها تلقائيًا في المشاريع الأخرى. وتوصي Epic Games أيضًا بتفعيل إضافة Editor Scripting Utilities، التي توفر واجهات API مبسطة لمهام المحرر الشائعة.

يستخدم المحرر Python 3.11.8 المضمّن مع الإضافة. لذلك، لا يلزم تثبيت Python على الكمبيوتر لمجرد تشغيل السكربتات في Unreal Editor. أما من يريد تضمين إصدار مختلف من Python، فعليه ضبط متغير البيئة UE_PYTHON_DIR في نظام التشغيل وإعادة بناء Unreal Engine من الشيفرة المصدرية؛ وهذه ليست خطوة مطلوبة للبدء.

خطوة بخطوة: تفعيل Python وتشغيل أول سكربت

  1. افتح مشروع Unreal الذي ستستخدمه. من القائمة الرئيسية، انتقل إلى Edit > Plugins.

  2. ابحث عن قسم Scripting في نافذة Plugins، ثم فعّل Python Editor Script Plugin. ووفقًا لتوصية Epic Games، يمكنك أيضًا تفعيل إضافة Editor Scripting Utilities.

  3. أعد تشغيل Unreal Editor. لا يكفي تفعيل الإضافة وحده؛ إذ يجب إعادة التشغيل قبل تنفيذ أي سكربت.

  4. للبدء، افتح لوحة Output Log وحوّل إدخال وحدة التحكم إلى وضع Python. ويمكنك أيضًا فتح وحدة التحكم باستخدام مفتاح العلامة العكسية (). في هذا الوضع، تُنفّذ أسطر Python المُدخلة فورًا، ويمكن استخدام **Shift + Enter** لإدخال عدة أسطر. وتظهر مخرجات print` في لوحة Output Log.

  5. لتشغيل سكربت من ملف، استخدم الخيار File > Execute Python Script من القائمة الرئيسية، ثم اختر السكربت الموجود على الكمبيوتر. ويمكنك إعادة تشغيل الملفات التي سبق تشغيلها من قائمة Recent Python scripts. وتقرأ القائمة أحدث نسخة من الملف.

عندما تكون وحدة التحكم في وضع الأوامر العادي، يمكن أيضًا تشغيل سطر Python أو ملف باستخدام الأمر py. وفيما يلي مثال الملف الوارد في الوثائق:

bat
py "C:\MyScripts\my_script.py"

استبدل المسار في المثال بموقع السكربت الذي تريد تشغيله. وإذا كان السكربت يتطلب وسيطات إضافية لسطر الأوامر، فيمكن تمريرها بعد اسم الملف.

أتمتة المهام المتكررة

إذا أردت تشغيل سكربت عند كل فتح للمشروع، فهناك طريقتان أساسيتان. يمكنك إضافة السكربتات إلى إعداد Startup scripts ضمن Plugins > Python في Project Settings الخاص بالمشروع. يشغّل Unreal Editor هذه السكربتات بعد اكتمال تحميل مستوى بدء التشغيل الافتراضي. أعد تشغيل المحرر بعد إجراء التغييرات؛ وستُنفّذ السكربتات عند فتح المشروع في المرة التالية.

أما الطريقة الأخرى، فهي وضع ملف باسم init_unreal.py في مجلد Content/Python داخل المشروع أو الإضافة. يشغّل المحرر السكربت تلقائيًا إذا عثر على ملف بهذا الاسم في أحد المسارات المُعدّة. وتشرح Epic Games هذا الأسلوب للحالات التي يحتاج فيها الأشخاص العاملون على المحتوى نفسه إلى تنفيذ شيفرة بدء تشغيل مشتركة مع كل مرة يبدأ فيها المحرر.

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

يمكن للفرق التي تستخدم Blueprint الاستفادة أيضًا من عقد تشغيل Python، لكن هذه العقد لا تتوفر إلا في الأصناف المخصصة للمحرر، مثل Editor Utility Widget وEditor Utility Blueprint. وتوصي الوثائق بعقدة Execute Python Script لاستدعاء Python من داخل Blueprint. ويمكن قراءة مدخلات العقدة قبل تشغيل السكربت، وضبط المخرجات بعد اكتمال التنفيذ. وتُتابع حالة النجاح عبر مخرج Return Value، فيما تظهر تفاصيل الأخطاء في Output Log. لا تشغّل هذه العقدة ملفًا، بل تنفّذ أسطر Python.

الأخطاء الشائعة والقيود

أهم ما يجب التمييز بينه هو أتمتة المحرر ووقت تشغيل اللعبة. تتوفر بيئة Python في Unreal Editor، لكنها لا تُستخدم في Play In Editor (PIE) أو Standalone Game أو الملفات التنفيذية المعبّأة. لذلك، لا ينبغي اعتبار Python لغة لبرمجة أسلوب اللعب.

ومن المشكلات الشائعة أيضًا أن تكون الإضافة مفعّلة في مشروع آخر فقط. يلزم تفعيلها وإعادة تشغيل المحرر لكل مشروع على حدة. وقد يؤدي افتراض أن السكربتات التي تعمل عبر Commandlet ستُحمّل المستوى تلقائيًا إلى حدوث أخطاء. كذلك، إذا فشل السكربت في عقدة Blueprint، فتحقق من Output Log للاطلاع على رسالة الخطأ.

الخطوات التالية: مسارات عمل العمارة والتصوّر البصري

بالنسبة إلى فرق العمارة والتصميم الداخلي وarchviz، تتيح Python إمكانية تقليل مهام إدارة المحتوى المتكررة في Unreal Editor وربط مسارات الإنتاج التي تستخدم تطبيقات 3D مختلفة. فعلى سبيل المثال، تتوافق أتمتة خطوات إدارة الأصول الخاصة بالفرق أو عمليات وضع المحتوى في المستوى مع الاستخدامات الموضحة في الوثائق. لكن ذلك لا يعني ضمان استيراد BIM معين أو التوافق مع برنامج بعينه؛ إذ يجب تصميم التكامل بما يتناسب مع محتوى المشروع.

ابدأ بمهمة صغيرة يمكن التحقق منها داخل المحرر، وجرّب السكربت عبر وحدة التحكم أو Execute Python Script. ثم انتقل إلى سكربتات بدء التشغيل أو تشغيل سطر الأوامر إذا كانت العملية متكررة. وأدرج في خطة الإنتاج التحذير من أن دعم Python تجريبي، وضرورة تفعيل الإضافة لكل مشروع، وعدم إمكانية استخدامها أثناء تشغيل اللعبة. وتُعد وثائق Unreal Python 5.8 API مرجعًا للاطلاع على أقسام API وأنواعها المتاحة.

المصدر والترخيص

أُعد هذا الدليل باللغة التركية بالاستناد إلى دليل Epic Games بعنوان Scripting the Unreal Editor using Python وصفحة Unreal Python 5.8 API Documentation. وكلا المصدرين من الوثائق الرسمية لـ Epic Games.

المصادر

2 مصادر
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/scripting-the-unreal-editor-using-python
ملخص
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/python-api
ملخص

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

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

بالنسبة إلى فرق العمارة والتصوّر البصري في تركيا، تكمن الفائدة العملية الأبرز لـ Python في أتمتة المهام المتكررة وخطوات إدارة المحتوى في Unreal Editor. وقد يكون اعتماد نهج موحد للسكربتات داخل الفريق مفيدًا خصوصًا في مسارات العمل التي تشمل تطبيقات 3D مختلفة. لكن من الأفضل البدء بتجربة مهمة واحدة محددة في المحرر بدلًا من إنشاء سلسلة أدوات كبيرة منذ البداية.

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

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

هل يلزم تثبيت Python بصورة منفصلة لاستخدامه في Unreal Engine؟

يتضمن Python Editor Script Plugin في Unreal Editor الإصدار Python 3.11.8. لذلك، لا يلزم تثبيت Python بصورة منفصلة لتشغيل السكربتات في المحرر فقط.

هل يمكن استخدام سكربتات Python في Unreal Engine أثناء تشغيل اللعبة؟

لا. تقتصر بيئة Python على Unreal Editor، ولا يمكن استخدامها في PIE أو Standalone Game أو الملفات التنفيذية المعبّأة.

كيف يمكن تشغيل سكربت Python في Unreal Editor؟

بعد تفعيل Python Editor Script Plugin للمشروع وإعادة تشغيل المحرر، يمكن تشغيل السكربت من وحدة التحكم أو قائمة File أو سطر الأوامر. ويمكن أيضًا استخدام عقد تشغيل Python في Blueprints المخصصة للمحرر.

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

أخبار ذات صلة