Windows Mixed Reality: A Developer's Guide (Part 1)

مرحبا يا هبر! نبدأ اليوم سلسلة من المقالات حول Windows Mixed Reality. في إطارها ، سنقوم بتطوير تطبيق واقع مختلط على الوحدة من الصفر. بالمناسبة ، كل هذا سيتم في تنسيق العمل المختبري (العمل المختبري) ، أي يمكنك ، بالتوازي مع نشر المقالات ، إنشاء مثل هذا التطبيق. انضم الآن!



يتكون الدليل بالكامل من 5 أجزاء. سيتم تجديده كل أسبوع. أدناه يمكنك الذهاب إلى الجزء الذي تحتاجه.

الجزء 1: تصدير تطبيق UWP لـ Windows Mixed Reality from Unity ؛
الجزء 2: إعداد البيئة (VR) ؛
الجزء 3: وحدات التحكم ؛
الجزء 4: الصوت المكاني .
الجزء 5: HoloLens والرسومات .

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

في هذا البرنامج التعليمي ، ستقوم بإنشاء تطبيق لسماعات رأس Windows Mixed Reality (VR) الغامرة وأجهزة Microsoft HoloLens (AR). باستخدام Unity ، ستنشئ غرفة افتراضية يتفاعل فيها المستخدمون مع مكبر صوت يعيد إنتاج الصوت المكاني. سوف يسمع المستخدمون الصوت عن طريق الانتقال الفوري إلى نقاط مختلفة في الغرفة أو تحريك مكبر الصوت نفسه حول الغرفة.

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

بعد الانتهاء من الدرس ، أنت:

  • تعلم كيفية إنشاء تطبيقات الواقع الافتراضي باستخدام Unity ، ودمج هذه المعرفة ؛
  • تعرف على كيفية تكوين Unity لإنشاء تطبيقات UWP للواقع المختلط.
  • تعرف على كيفية استخدام ميزات الحقيقة المختلطة القياسية (MR) ، مثل إعدادات الكاميرا ومعالجة المدخلات (التحكم في النظرة ووحدات التحكم في الحركة والإيماءات) وإعادة إنتاج الصوت المكاني في تطبيقات MR ؛
  • تعرف على كيفية إنشاء تطبيقات Mixed Reality المناسبة لكل من نظارات VR و HoloLens.

متطلبات الأجهزة


  • كمبيوتر ممكّن MR
  • [اختياري] سماعة واقع مختلط غامرة من Windows مزودة بوحدات تحكم الحركة
  • [اختياري] جهاز HoloLens

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

متطلبات البرامج


Visual Studio 2017 . ستفعل أي نسخة ، بما في ذلك إصدار المجتمع المجاني. أثناء التثبيت ، يجب تحديد المكونات وأحمال العمل التالية:


ملاحظة في Visual Studio ، يمكن الوصول إلى مجموعات أدوات متنوعة باستخدام أدوات القائمة -> الحصول على الأدوات والميزات (الأدوات -> الحصول على الأدوات والمكونات).

الوحدة 2017.4.3 (عند اختيار المكونات أثناء التثبيت ، تحتاج إلى إضافة .Net Scripting Backend) ؛

• OS OS 10 Fall Creators Update (أو أحدث) ؛

  • لتمكين وضع المطور ، انتقل إلى الإعدادات -> التحديث والأمان -> للمطورين.

• [اختياري] المحاكي HoloLens أو محاكاة مختلطة الواقع .

تصدير UWP Windows Mixed Reality App من Unity


1. إنشاء مشروع الوحدة واستيراد الموارد


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

  • حزمة هولوتولكيت
    هذه لقطة من مجموعة أدوات Microsoft Mixed Reality Toolkit ، وهي مجموعة من البرامج النصية والمكونات التي تعمل على تسريع تطوير تطبيقات Microsoft HoloLens وسماعات الرأس التي تدعم Windows Mixed Reality.
  • SpatialSoundLab.Unitypackage
    مجموعة خاصة تم إعدادها لهذا الدرس العملي. يحتوي على موارد (نماذج ومواد ومقاطع صوتية) سيتم استخدامها للعمل مع الصوت المكاني.

بعد تلقي ملفات الموارد ، يمكننا إنشاء مشروع الوحدة.

1. افتح محرر الوحدة وانقر فوق جديد.

2. حدد اسمًا للمشروع (على سبيل المثال ، مكبر الصوت).

3. قم بتشغيل ثلاثي الأبعاد للقالب ، وقم بإيقاف تشغيل التحليلات ، ثم انقر فوق Create project .

4. لاستيراد حزم Unity ، حدد الأصول -> حزمة الاستيراد -> حزمة مخصصة من القائمة ، وانتقل إلى حزمة Holotoolkit.unitypack المحفوظة مسبقًا.



5. لا تقم بإلغاء تحديد العناصر لاستيراد كافة الملفات. انقر فوق Import .



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



6. قم أيضًا باستيراد ملف SpatialSoundLab.UnityPackage عن طريق تكرار الخطوات أعلاه.

7. يجب أن يحتوي مجلد الأصول الآن على الحزمتين.



2. تطبيق معايير المشروع


بعد ذلك ، نحتاج إلى تكوين مشروع الوحدة الخاص بنا لإنشاء تطبيق لـ Windows Mixed Reality. ستساعدنا هذه المهمة في إكمال مجموعة أدوات الواقع المختلط.

1. في القائمة العلوية ، انتقل إلى مجموعة أدوات الحقيقة المختلطة -> قسم تكوين (مجموعة أدوات الواقع المختلط -> الإعدادات) وحدد تطبيق إعدادات مشروع الواقع المختلط.



2. حدد خانة الاختيار استخدام محاور InputManager الخاصة بمجموعة الأدوات ، ثم انقر فوق الزر تطبيق.



لأغراض مرجعية ، نقدم وصفًا لكل من المعلمات:

  • Target Windows Universal UWP (Build for Windows Universal UWP) - يحدد النظام الأساسي الهدف للوحدة. يمكن عرض خيارات أخرى للنظام الأساسي المستهدف بتحديد ملف -> إعدادات البناء.
  • البناء من أجل Direct3D: يضبط قيمة D3D لمعلمة نوع البناء في قسم إعدادات البناء. بالنسبة لتطبيقات الواقع المختلط المصممة لسماعات الرأس المغلقة ، لا يتم دعم XAML.
  • إعداد معلمة Enable XR هو نفسه إعداد معلمة Virtual Reality Supported في إعدادات Player -> XR Settings.
  • إعداد تمكين البرمجة النصية لـ .NET يعادل إعداد .NET لإعدادات المشغل -> إعدادات أخرى -> خلفية البرمجة النصية (إعدادات المشغل -> إعدادات أخرى -> منصة البرمجة النصية). سيعمل خيار IL2CPP أيضًا ، ولكن من أجل الاتساق في هذا المختبر ، نوصي باستخدام متغير .NET.
  • تغيير معلمة محور استخدام InputManager الخاصة بـ Toolkit محاور قسم تحرير -> إعدادات المشروع -> قسم إدارة الإدخال لتمكين الدعم لجميع المحاور المستخدمة في صندوق الأدوات . بمعنى آخر ، يتضمن دعم لوحة ألعاب Xbox ووحدات التحكم لـ Mixed Reality.
  • إذا قمت بإنشاء تطبيقات للسماعات الغامرة فقط ، فيمكنك تحديد خانة الاختيار الأجهزة المستهدفة المستهدفة. نظرًا لأننا سننقل تطبيقنا إلى جهاز HoloLens ، فلن نحدد خانة الاختيار هذه.

لقد قدمنا ​​دعمًا لـ Mixed Reality ، ولكن هناك بعض الإعدادات الإضافية التي يجب إجراؤها لمنصة Windows العامة.

3. في القائمة العلوية ، انتقل إلى مجموعة أدوات الحقيقة المختلطة -> قسم تكوين (مجموعة أدوات الواقع المختلط -> الإعدادات) وحدد تطبيق إعدادات قدرة UWP.



4. حدد خانة الاختيار الإدراك المكاني إذا كنت تنوي نقل هذا التطبيق إلى جهاز HoloLens. سيسمح لنا ذلك بتعيين خريطة البيئة والعثور على أسطح السماعات.

5. انقر فوق الزر Apply لحفظ التغييرات.

6. بعد ذلك ، افتح مربع الحوار File -> Build Settings باستخدام اختصار لوحة المفاتيح Ctrl + Shift + B ، وحدد Universal Windows Platform ، ثم انقر فوق Switch Platform. أضف مشهدًا مفتوحًا إلى التجميع عن طريق تحديد المربع المجاور لاسم المشهد والنقر فوق الزر Add Open Scenes. قم بتأكيد العرض لحفظ المشهد واختر اسمًا مناسبًا له. اتصلنا بمشهدنا الرئيسي.

3. تطبيق إعدادات المشهد وإضافة كائنات الواقع المختلط


الآن نحن بحاجة إلى إعداد المشهد. دعنا نضيف الأشياء التي ستتعامل مع حركة الكاميرا والإشارات من وحدة التحكم.

1. من القائمة العلوية ، انتقل إلى مجموعة أدوات الحقيقة المختلطة -> قسم تكوين (مجموعة أدوات الواقع المختلط -> الإعدادات) وحدد تطبيق إعدادات مشروع الواقع المختلط.



2. اترك جميع الإعدادات الافتراضية محددة وانقر فوق الزر تطبيق.



لأغراض مرجعية ، نقدم وصفًا لجميع هذه المعلمات:

  • تمت إضافة "MixedRealityCameraParent" الجاهزة إلى المشهد. يضيف هذا الإعداد المسبق كاميرا قياسية (رئيسية) إلى الأصل (0،0،0) ، ويضيف أيضًا دعمًا لوحدات التحكم بالحركة والحدود.
  • تمت إضافة InputManager الجاهز إلى المشهد. يوفر دعم الإدخال (النظرة ، التحكم بالإيماءات ، الإدخال باللمس ، أو لوحة ألعاب Xbox).
  • تمت إضافة المؤشر الافتراضي الافتراضي إلى المشهد.

ستكون جميع الكائنات المضافة مرئية في لوحة Unity Hierarchy.

يكمل هذا إعداد وإعداد المشروع والمشهد لإنشاء تطبيق UWP لـ MR.

حفظ المشهد والتصميم.

3. انقر فوق ملف -> حفظ المشاهد. عندما يُطلب منك اختيار اسم للمشهد ، قم بتسميته رئيسي (أو اختر أي اسم مناسب آخر).

4. انقر فوق ملف -> حفظ المشروع.

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

4. نشر التطبيقات على سماعات الرأس


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

نشر مشروع على سماعة غامرة

1. انتقل إلى مجموعة أدوات الواقع المختلط -> نافذة الإنشاء (مجموعة أدوات الواقع المختلط -> نافذة الإنشاء).

2. انقر فوق Open in Visual Studio . سيستغرق هذا الإجراء عدة دقائق - خلال هذا الوقت سيتم تجميع جميع الموارد وسيتم إنشاء حل لـ Visual Studio أو تحديثه.

ملاحظة إذا ظهرت رسالة في Unity تفيد بأنه لا يوجد حل مفتوح للمشروع ويتم سؤالك عما إذا كنت بحاجة إلى إكمال التجميع ، فحدد نعم ، بناء.

3. بعد اكتمال البناء ، سيبدأ Unity Visual Studio.

4. في شريط أدوات Visual Studio القياسي ، قم بتغيير النظام الأساسي للحل النشط من ARM إلى x64. بالنسبة لهدف النشر ، يجب تحديد Local Machine.



إذا لم تكن تقوم بالتصحيح ، فنوصيك أيضًا بتغيير نوع البناء من Debug إلى Release ، نظرًا لأن إصدارات تصحيح Unity تكون غالبًا أبطأ.

5. قم بتشغيل التطبيق بالضغط على زر التشغيل.

نشر مشروع على جهاز HoloLens

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

1. انتقل إلى مجموعة أدوات الواقع المختلط -> نافذة الإنشاء (مجموعة أدوات الواقع المختلط -> نافذة الإنشاء).

2. انقر فوق Open in Visual Studio . سيستغرق هذا الإجراء عدة دقائق - خلال هذا الوقت سيتم تجميع جميع الموارد وسيتم إنشاء حل لـ Visual Studio أو تحديثه.

ملاحظة إذا ظهرت رسالة في Unity تفيد بأنه لا يوجد حل مفتوح للمشروع ويتم سؤالك عما إذا كنت بحاجة إلى إكمال التجميع ، فحدد نعم ، بناء.

3. بعد اكتمال البناء ، سيبدأ Unity Visual Studio.

4. في شريط أدوات Visual Studio القياسي ، قم بتغيير النظام الأساسي للحل النشط من ARM إلى x86 وحدد الهدف المناسب للنشر:

  • إذا كان النشر عبر USB ، فحدد الجهاز ؛
  • إذا كان النشر عبر Wi-Fi ، فحدد Remote device وقم بتكوين الكمبيوتر البعيد.



إذا لم تكن تقوم بالتصحيح ، فنوصيك أيضًا بتغيير نوع البناء من Debug إلى Release ، نظرًا لأن إصدارات تصحيح Unity تكون غالبًا أبطأ.

5. قم بتشغيل التطبيق بالضغط على زر التشغيل.

للحصول على معلومات حول نشر التطبيقات إلى Microsoft Store ، راجع موقع مطور Windows .

تطبيق وضع مكبر الصوت


في تطبيق وضع مكبر الصوت الخاص بنا لوضع مكبرات الصوت ، سيكون لدى المستخدم الخيارات التالية:

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

فيما يلي قائمة بالموارد النموذجية والموسيقى.

  • الجاهزة -> RoomPrefab.prefab - غرفة معيشة افتراضية لسماعة غامرة.
  • النماذج -> Speaker.3DS - نموذج من مكبرات الصوت التي سنحولها إلى عمل جاهز.
  • الصوت -> ChillBlueLagoon.mp3 - ملف موسيقى (يمكنك استخدام أي ملف بتنسيق MP3 أو OGG أو WAV أو AIFF).

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

الأصل
المؤلف: إريك أهلستروم ، cbarkerms ، ماديسون هايت

Source: https://habr.com/ru/post/ar418655/


All Articles