عودة إلى أخبار المطوّرين

إنشاء تجربة الواقع الافتراضي متعددة اللاعبين

٢٤ مايو ٢٠٢٢بواسطة‏‎Navyata Bawa‎‏

أصبحت التجارب متعددة اللاعبين جزءًا ذا أهمية كبيرة في منظومة الواقع الافتراضي المتكاملة. تعمل ميزات اللاعبين المتعددين على تسهيل العثور على الأشخاص ودعوتهم واللعب معهم في العديد من الألعاب والتطبيقات. في هذه المدونة المكونة من أربعة أجزاء "إنشاء تجربة الواقع الافتراضي متعددة اللاعبين" وسلسلة مقاطع الفيديو، سنناقش ميزات اللاعبين المتعددين في Quest لمجموعة SDK المنصة من خلال استكشاف عينة SharedSpaces مفتوحة المصدر والتي تم إنشاؤها في Unity، وسنوضح لك كيفية استخدام العينة لإنشاء تطبيق يوفر تجربة متعددة اللاعبين. إذا كنت مهتمًا بالتعلم عن طريق المشاهدة أو الاستماع، فتحقق من هذا الفيديو في قناة Meta Open Source على يوتيوب.

في مدونة اليوم، سنستعرض ميزات اللاعبين المتعددين في مجموعة SDK المنصة وما يمكنك تحقيقه من خلالها. سنتناول أيضًا عينة من SharedSpaces في Unity من App Lab ونرى ميزات اللاعبين المتعددين تلك عمليًا.

ميزات اللاعبين المتعددين

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

الوجهات

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

حضور المجموعات

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

الروابط لمواضع معينة

تسمح الروابط لمواضع معينة للمطوّرين بتوجيه المستخدمين إلى تجربة محددة. عندما يقوم شخص ما بتشغيل تطبيقك للانضمام إلى صديق أو الانتقال إلى وجهة، فإن الرابط لموضع معين يتضمن معلومات عن الوجهة المطلوبة وأي شاشة رئيسية (لوبي) أو مباراة.

تتمثل الخطوة الأولى لتمكين تجربة متعددة اللاعبين في دمج الوجهات وحضور المجموعات والروابط مواضع معينة. وفي المدونة التالية، سنتناول كيفية إنشاء نسختك الخاصة من عينة Shared Spaces في Unity وكيفية إعدادها لتناسب تطبيقك.

الدعوة إلى التطبيق

تتيح ميزة "الدعوة إلى التطبيق" للاعبين دعوة الأصدقاء في Quest والمستخدمين الذين لعبوا معهم مؤخرًا بكل سهولة إلى الشاشات الحالية باستخدام قائمة Quest في الألعاب المدعومة.

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

للتعرف على المزيد حول واجهات API الدعوة إلى التطبيق وكيفية استخدامها في تجربتك، تفضل بزيارة صفحة الوثائق.

رابط الدعوة

يمكنك أيضًا استخدام رابط الدعوة لتشغيل التطبيق في وجهة محددة مع مجموعة من الأصدقاء باستخدام تطبيق Oculus للهاتف المحمول.

يستخدم رابط الدعوة API حضور المجموعات لضمان تواجد الكل في الجلسة ذاتها. للتعرف على المزيد حول رابط الدعوة، تفضل بزيارة صفحة الوثائق.

القائمة

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

عنية SharedSpaces في Unity

الآن بعد أن تناولنا بعض ميزات مجموعة SDK لللاعبين المتعددين، سنلقي نظرة على عينة من مشروع يسمى SharedSpaces حيث سيمكننا عرض ميزات اللاعبين المتعددين بشكل عملي. سنلق نظرة على إصدار Unity من هذه العينة؛ ومع ذلك، إذا كنت مهتمًا بإصدار Unreal، فيمكنك العثور عليه في App Lab.

لنتناول أولاً كيفية عمل عينة SharedSpaces من Unity. تستخدم العينة ثلاث طبقات من الشبكات:

  • مجموعة SDK المنصة، والتي تتيح لنا تعيين الوجهات والحضور وشاشة اللعب والمباراة.
  • طبقة النقل ومجموعة Photon SDK وهي المسؤولة عن التواصل بين المستخدمين الذين يتشاركون في مساحة.
  • إمكانات الشبكة التي يوفرها Netcode من Unity لمجموعة GameObjects SDK.

يلخص الشكل أدناه الطبقات الثلاث التي ناقشناها.

تثبيت العينة

الآن بعد أن توفرت لديك فكرة مبدئية حول كيفية عمل تطبيق SharedSpaces، يمكنك تنزيل عينة SharedSpaces من Unity في App Lab وتجربتها على نظارة الرأس Quest.

تشغيل العينة

عند تشغيل التطبيق على نظارة الرأس Quest، ستلاحظ أنك تبدأ في غرفة تسمى "لوبي" (الشاشة الرئيسية). يتم تمثيل اللاعب بشخصية ملونة يمكنك التحكم فيها باستخدام وحدات التحكم. وتعمل وحدة التحكم اليسرى على تحريك اللاعب، في حين تحرك وحدة التحكم اليمنى الكاميرا من حوله بحيث يمكنك رؤية العالم من حولك بسهولة واختيار الذهاب إلى المكان الذي تريده. يؤدي الضغط على الزر Y في وحدة التحكم إلى جعل اللاعب يقفز.

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

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

في الجزء العلوي الأيسر، سترى قائمة تعرض معلومات حول حضور المجموعات. وهذه هي ميزة "القائمة" الخاصة بمجموعة SDK المنصة أثناء التشغيل الفعلي.

توجد خلفك ورشة طلاء يمكنك من خلالها تغيير لون اللاعب. بدلاً من ذلك، يمكنك الضغط على الزر X في وحدة التحكم لتغيير لون اللاعب.

في أسفل اليسار وأسفل اليمين، سترى خيارًا للاستعلام حول نفسك وأصدقائك للحصول على مزيد من المعلومات حول اللاعبين.

عينة من سيناريو الاختبار

الآن بعد أن أصبحت على دراية بالمساحة، حاول دخول إحدى الوجهات. حيث تمثل الغرفة الأرجوانية وجهة عامة يمكن لأي شخص الدخول إليها ويمكن الوصول إليها عبر أي شاشة رئيسية. والآن، دعونا نعود إلى الشاشة الرئيسية.

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

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

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

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

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

كان هذا عرضًا سريعًا لعينة من تطبيق SharedSpaces في Unity. لقد تناولنا بعض ميزات اللاعبين المتعددين التي يجب أن توفرها مجموعة SDK المنصة وكيفية عمل هذه الميزات في تطبيق SharedSpaces من Unity في Quest. وفي المدونة التالية، سنتناول كيفية إنشاء نسختك الخاصة من هذه العينة، بما في ذلك كيفية تنزيلها من Github ثم إنشائها وتشغيلها على نظارة الرأس Quest.


حول هذه السلسلة

في هذه السلسلة، نناقش ميزات اللاعبين المتعددين ضمن مجموعة SDK المنصة في Quest من خلال استكشاف عينة SharedSpaces مفتوحة المصدر التي تم إنشاؤها في Unity. وتُعد هذه المدونة هي الأولى من سلسلة من أربعة أجزاء من المدونات التي تدعم سلسلة الفيديو "إنشاء تجربة الواقع الافتراضي متعددة اللاعبين."

للتعرف على المزيد حول ميزات اللاعبين المتعددين ضمن مجموعة SDK المنصة وكيفية عمل عينة SharedSpaces، راجع جلسة Connect هذه والتي تناقش كيفية إنشاء تطبيقات متعددة اللاعبين وتنميتها في Quest. يمكنك تجربة عينة SharedSpaces من Unity عن طريق زيارة ِApp Lab وتشغيلها على نظارة الرأس لديك. للتعرف على المزيد حول كيفية استخدام ميزات اللاعبين المتعددين ضمن مجموعة SDK المنصة في تطبيقاتك، راجع وثائق ميزات اللاعبين المتعددين.

للتعرف على المزيد حول Meta Quest، تفضل بزيارة موقع الويب، أو الاشتراك في قناتنا على يوتيوب، أو متابعتنا على تويتر وفيسبوك. إذا كان لديك أي أسئلة أو اقتراحات أو ملاحظات، فيُرجى إبلاغنا في منتديات المطوّر.

للتعرف على المزيد حول Meta Open Source، تفضل بزيارة الموقع مفتوح المصدر أو الاشتراك في قناتنا على يوتيوب، أو متابعتنا على تويتر وفيسبوك.