باختصار
- ينقل Pixel Streaming الصورة والصوت من تطبيق Unreal Engine مُعبّأ إلى متصفح الويب.
- يمكن استخدام الإضافة مع تطبيق مُعبّأ أو مشروع يُشغّل باستخدام خيار Standalone Game.
- في إعداد الشبكة المحلية، يجب إتاحة الاتصال عبر المنفذين 80 و8888.
- قد يلزم إعداد STUN أو TURN للاتصال من شبكات مختلفة.
تشرح وثائق Unreal Engine من Epic Games كيفية إعداد Pixel Streaming على شبكة محلية واستخدامه عبر متصفحات الويب والأجهزة المحمولة. يجمع هذا الدليل خطوات الإعداد الأساسية للفرق التي تريد إتاحة تطبيق Unreal Engine المُعدّ للتصور المعماري أو للعروض التفاعلية أمام مشاهدين على الشبكة نفسها. تنطبق الخطوات على إضافتي Pixel Streaming وPixel Streaming 2 المذكورتين في الوثائق؛ وينبغي التحقق من توافق نظام التشغيل والأجهزة بشكل منفصل وفقًا للإعداد المستخدم.
1. إعداد التطبيق والإضافة
لا يشارك Pixel Streaming نافذة المحرر العادية مباشرةً، بل ينقل صورة التطبيق المُعبّأ أو المشروع الذي بدأ تشغيله في وضع Standalone Game. لذا، جهّز المشروع أولًا لإحدى طريقتَي التشغيل هاتين.
افتح قائمة
Edit > Pluginsفي Unreal Editor. فعّل إضافةPixel StreamingأوPixel Streaming 2ضمن فئةGraphics، ثم أعد تشغيل المحرر.إذا كان المشروع يتضمن شخصية ستُتحكّم بها عبر شاشة اللمس على هاتف أو جهاز لوحي، فعّل إعداد
Always Show Touch Interfaceمن قسمEngine > InputضمنEdit > Project Settings. هذه الخطوة اختيارية؛ ويعتمد عمل التحكم باللمس أيضًا على دعم Player Controller في المشروع لإدخال اللمس.إذا كنت ستبدأ تشغيل Standalone Game من المحرر، فأدخل معامل الاتصال التالي في حقل
Additional Launch Parametersضمن المسارEdit > Editor Preferences... > Level Editor > Play:
-PixelStreamingURL=ws://127.0.0.1:8888لإنشاء نسخة من التطبيق، اتبع المسار
Files > Package Project > Windows (64-bit)لإنشاء حزمة Windows. يجب تمرير معامل الاتصال نفسه عند كل تشغيل للتطبيق؛ وتشرح الوثائق أيضًا استخدامه بإضافته إلى حقل الوجهة في الاختصار.
يمكن أيضًا إضافة المعامل -RenderOffScreen لتفادي احتمال توقف تدفق الإدخال عند تصغير نافذة التطبيق. يشغّل هذا الخيار التطبيق من دون نافذة مرئية، لكنه ليس إلزاميًا لكل مشروع.
| الإعداد | القيمة الموصى بها | التأثير |
|---|---|---|
| معامل اتصال Pixel Streaming | -PixelStreamingURL=ws://127.0.0.1:8888 | يتيح للتطبيق الاتصال بالخادم على الجهاز المحلي. |
| منافذ الاتصال على الشبكة المحلية | إتاحة 80 و8888 | يسمح بالاتصال الأساسي بين المتصفح وتطبيق Unreal Engine. |
| واجهة اللمس | تفعيل Always Show Touch Interface؛ اختياري | يعرض واجهة التحكم على الشاشة في المشاريع التي تدعم اللمس. |
| التشغيل من دون نافذة | -RenderOffScreen؛ اختياري | يشغّل التطبيق من دون نافذة مرئية. |
2. تشغيل خوادم Pixel Streaming
توجد الواجهة الأمامية للويب ومكوّنات الخادم ضمن Pixel Streaming Infrastructure، وتعمل بشكل منفصل عن تطبيق Unreal Engine. يشرح دليل البدء من Epic الحصول على هذه المكوّنات من مستودع GitHub أو استخدام الأمر get_ps_servers الموجود ضمن التثبيت. يعرض المثال في الوثائق الفرع 5.7 للمستودع؛ وهذا لا يعني ضرورة اختيار الفرع نفسه في كل إعداد. تحقّق من الفرع المتوافق مع إصدار Unreal Engine المستخدم.
احصل على ملفات البنية التحتية وحدد نصوص الخادم البرمجية في مجلد
SignallingWebServer.في مثال Windows، افتح PowerShell بصلاحيات المسؤول وشغّل النص البرمجي التالي لتثبيت الاعتماديات:
SignallingWebServer\platform_scripts\cmd\setup.batبعد ذلك، ابدأ تشغيل خادم الإشارات:
SignallingWebServer\platform_scripts\cmd\start_with_stun.batعندما يصبح الخادم جاهزًا، ستظهر رسائل تفيد بأنه يستمع إلى اتصالات WebSocket للناشر على المنفذ 8888، وللمشغّل على المنفذ 80، وأن خدمة HTTP تعمل على المنفذ 80. أوقف أي خوادم ويب أخرى تعمل على الجهاز نفسه قبل البدء. تُطبّق العملية نفسها على Linux وMac؛ وتشير الوثائق إلى استخدام النصوص البرمجية ضمن SignallingWebServer\platform_scripts\bash بدلًا من نصوص Windows.
بعد تشغيل التطبيق والخوادم، افتح http://127.0.0.1 في المتصفح. انقر على الصفحة بعد الاتصال بصفحة المشغّل لبدء البث. ويمكن لأجهزة الكمبيوتر أو الأجهزة المحمولة الأخرى على الشبكة المحلية نفسها الاتصال باستخدام عنوان IP الشبكي لجهاز الخادم بدلًا من 127.0.0.1.
3. التخطيط لإمكانية الوصول عبر الشبكة وتحكم المستخدمين
يساعد إجراء الاختبار الأول على الجهاز نفسه أو على الشبكة المحلية في عزل مشكلات الإعداد عن مشكلات الاتصال الخارجي. يطلب دليل البدء إتاحة المنفذين 80 و8888 للاتصال عبر الشبكة المحلية. وإذا كان الوصول من شبكات مختلفة مطلوبًا، فقد لا يكفي فتح هذين المنفذين وحدهما؛ إذ يمكن أن تؤثر NAT والشبكات الفرعية وشبكات مشغلي الهاتف المحمول في الاتصال.
في مثل هذه الحالات، يمكن إضافة معلومات خوادم STUN أو TURN إلى إعداد peerConnectionOptions في خادم الإشارات. يساعد STUN نقاط الاتصال على تحديد عناوين IP الظاهرة من الخارج. أما TURN فينقل تدفق الوسائط عبر الخادم، لذا ينبغي مراعاة عرض النطاق الترددي وحِمل النقل. وتشير وثائق Epic إلى احتمال الحاجة إلى TURN على شبكات مشغلي الهاتف المحمول أو الشبكات المؤسسية الآمنة. وعند إعداد خادم متاح عبر الإنترنت، ينبغي معالجة الأمان في الإعدادات وإمكانية الوصول بصورة مستقلة؛ ولا ينبغي التعامل مع مثال الشبكة المحلية على أنه خدمة إنتاجية جاهزة.
يمكن للأجهزة المتصلة بصفحة المشغّل الافتراضية إرسال إدخالات لوحة المفاتيح والماوس واللمس. وإذا كان المطلوب أثناء العرض أن يقتصر التحكم على الخادم بينما يكتفي المشاركون الآخرون بالمشاهدة، فيمكن تخصيص صفحات HTML مختلفة للمشغّل لمجموعات المستخدمين المختلفة. وبذلك يمكن فصل خيارات التحكم لدى المستخدمين المتصلين بجلسة Unreal Engine واحدة.
تأثيره في سير عمل العمارة والتصور
يمكن استخدام Pixel Streaming لإتاحة تجربة مشهد تفاعلي من Unreal Engine على شاشات مختلفة عبر صفحة ويب. ويسهّل اتصال المشاهدين من المتصفح من دون تثبيت برامج إضافية على أجهزتهم الوصولَ خلال العروض أو مراجعة المشاريع. لكن المشهد يعمل على الجهاز المضيف البعيد، وتتلقى الأجهزة المتصلة صورة المشهد نفسه. وفي الإعداد الافتراضي، يمكن أيضًا مشاركة التحكم عبر الإدخالات؛ لذا ينبغي تحديد صلاحيات التحكم مسبقًا أثناء العرض.
قد تتأثر جودة الصورة بسعة وحدة معالجة الرسومات والذاكرة في الجهاز المضيف المتاح. وعند التخطيط لخدمة متاحة عبر الإنترنت أو لعدد كبير من المستخدمين المتزامنين، ينبغي تقييم أجهزة الخادم وظروف الشبكة ونهج التوسّع معًا. توصي Epic بالتوسّع الديناميكي لعمليات النشر الكبيرة أو التي يتزايد حجمها حسب الطلب؛ وعلى الرغم من إمكان تشغيل عدد ثابت من التطبيقات للاستخدام محدود النطاق، فقد يؤدي ذلك إلى هدر الموارد أو انتظار الاتصال. وقد تكون ميزة SFU خيارًا لعدد كبير من المشاهدين وظروف الشبكة المختلفة، لكن الوثائق تصفها بأنها تجريبية.
أخطاء شائعة
عدم إعادة تشغيل المحرر بعد تفعيل الإضافة، أو تشغيل التطبيق بصيغة غير مُعبّأة/Standalone Game.
بدء التطبيق من دون معامل الاتصال، أو محاولة الاتصال من المتصفح قبل تشغيل الخوادم.
إجراء الاختبار الأول عبر الإنترنت بدلًا من الشبكة المحلية، ما يصعّب استكشاف مشكلات NAT وSTUN/TURN وجدار الحماية.
عدم التحقق من إتاحة المنفذين 80 و8888، أو السماح لخادم ويب آخر بالتعارض مع الإعداد نفسه.
عدم الانتباه إلى أن جميع المشاركين يمكنهم افتراضيًا إرسال إدخالات إلى الجلسة نفسها أثناء العرض.
بعد نجاح الاتصال الأول، اختبر إدخالات لوحة المفاتيح والماوس واللمس، عند الحاجة، كلًّا على حدة من المتصفح. وإذا كنت تخطط للبث عبر الإنترنت أو للتوزيع على عدة مستخدمين، فاختبر إعداد الشبكة وسعة الخادم وصلاحيات المستخدمين خلال مرحلة تجريبية.
المصادر
3 مصادرلا نعيد نشر نصوص المصادر؛ الاقتباسات القصيرة مشار إليها، وما تبقى ملخص وتعليق من إعدادنا.
بالنسبة إلى مكاتب العمارة وفرق التصور في تركيا، تتمثل الفائدة العملية لـPixel Streaming في إتاحة استعراض مشهد تفاعلي من Unreal Engine عبر المتصفح. وقد يبسّط عدم الحاجة إلى تثبيت برامج إضافية على أجهزة المشاهدين سيرَ العرض؛ لكن سعة وحدة معالجة الرسومات والذاكرة في الجهاز المضيف الذي يشغّل المشهد تؤثر مباشرةً في التجربة.
من الأفضل إجراء الإعداد الأولي على شبكة محلية لعزل مشكلات الشبكة وجدار الحماية. وعند إتاحة الوصول عبر الإنترنت، يجب أخذ STUN/TURN وعرض النطاق الترددي وتكاليف الخادم المحتملة في الحسبان. وفي الاستخدام متعدد المستخدمين، ينبغي اختبار سلوك التحكم المشترك الافتراضي وميزة SFU التجريبية بعناية قبل الانتقال إلى خطة إنتاجية.
الأسئلة الشائعة
ما المنافذ التي يجب إتاحتها لاستخدام Unreal Engine Pixel Streaming؟
يشترط دليل البدء من Epic إتاحة المنفذين 80 و8888 للاتصال عبر الشبكة المحلية. ويمكن تغيير القيم الافتراضية؛ لذا ينبغي مراجعة خيارات الإعداد في مرجع Pixel Streaming.
هل يعمل Pixel Streaming عبر شبكات مختلفة أو عبر الإنترنت؟
يمكنه ذلك، لكن NAT أو الشبكات الفرعية أو شبكات المشغلين قد تمنع الاتصال. وقد يلزم في هذه الحالات إعداد STUN أو TURN عبر `peerConnectionOptions`.
كيف ينبغي تشغيل مشروع Unreal Engine لاستخدام Pixel Streaming؟
ينبغي تشغيل المشروع كتطبيق مُعبّأ أو باستخدام خيار Standalone Game في Unreal Editor. ويجب بدء تشغيل التطبيق مع معامل اتصال Pixel Streaming.



