كيفية إنشاء أول تطبيق HoloLens مع Unity

مايكروسوفت هولولينس. صورة الائتمان https://www.flickr.com/photos/jiff01/15867880743

HoloLens من Microsoft رائع للغاية. لقد تعرفت عليه في فترة التدريب الصيفي هذا ، وتعرضت لخطر الانفجار.

يتم إنشاء تطبيقات HoloLens باستخدام DirectX مع C ++ أو Unity مع C #. لقد وجدت أنه من الأسرع والأسهل عمومًا تشغيل تطبيق مع Unity.

في هذه المقالة ، سنقوم بإعداد Unity for HoloLens ، وإنشاء مكعب تفاعلي ، وتدوير محاكي HoloLens حتى تتمكن من رؤية إبداعك. هذه المقالة مخصصة للمبتدئين في Unity ، لذا إذا كان لديك تجربة مع المحرر ، فإنني أوصي بتصفح برامج Microsoft التعليمية.

المتطلبات الأساسية

  1. جهاز كمبيوتر يعمل بنظام Windows 10 مع تحديث أبريل 2018
  2. محاكي HoloLens الذي يمكنك تنزيله من هنا
  3. Visual Studio 2017 - إصدار المجتمع على ما يرام
  4. الوحدة - تأكد من إضافة مكون الواجهة الخلفية لبرنامج Windows .NET أثناء التثبيت
  5. و HoloToolKit

يمكنك العثور على شفرة المصدر الكاملة هنا.

اقامة

افتح الوحدة. إذا كانت هذه هي المرة الأولى التي تستخدم فيها المحرر ، فسيُطلب منك تسجيل الدخول أو التسجيل. أوصي بـ Unity Personal إلا إذا كنت تخطط لتحقيق الدخل من تطبيقك.

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

محرر الوحدة عند بدء التشغيل الأول

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

بعد ذلك سننشئ مشهدنا. حدد ملف -> مشهد جديد واحفظه كملف رئيسي.

الوحدة تحتاج إلى تكوين خاص من أجل بناء مشروع لـ HoloLens. لحسن الحظ ، فإن HoloToolKit يحتوي على برامج نصية لفائدة والتي تفعل هذا التكوين بالنسبة لنا. في شريط الأدوات العلوي ، حدد Mixed Reality Toolkit -> تكوين -> تطبيق إعدادات مشروع Reality مختلطة. استخدم القيم الافتراضية. بعد الانتهاء من التكوين ، قم بتطبيق إعدادات مشهد الواقع المختلط. حذف اتجاه ضوء GameObject.

مدهش! لقد استوردنا حتى الآن HoloToolKit وأنشأنا Unity لتطوير HoloLens. في القسم التالي ، سأعرضك على أساسيات الوحدة ، وبعد ذلك سنحصل على مكعب لعرضه على الشاشة.

التعرف على المحرر

هذا ما يجب أن يبدو عليه المحرر في هذه المرحلة. لاحظ المناطق الثلاثة المحاصرة:

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

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

المنطقة الخضراء الصحيحة هي قائمة المفتش. هنا هو المكان الذي يمكنك فيه إضافة وتعديل مكونات GameObjects الخاصة بك. المكونات هي التي تشكل سلوك GameObjects الخاص بك. إنها تحدد الشكل والتفاعل والفيزياء الخاصة بوالديهم.

خلق مكعب

الآن سنحصل على أول لعبة GameObject لعرضها على الشاشة. في لوحة التسلسل الهرمي للمشهد ، انقر بزر الماوس الأيمن وحدد 3D Object -> Cube. يجب أن يظهر المكعب في المحرر.

انقر نقرًا مزدوجًا فوق Cube في لوحة التسلسل الهرمي ، وفي لوحة المفتش اليمنى غيّر الموضع إلى (0،0،2). اضبط المقياس ليكون (.25 ، .25 ، .25). يجب أن تبدو لوحة المفتش كما يلي:

لوحة مفتش مكعب

لطيف! دعنا نذهب عبر خطوات البناء حتى نتمكن من رؤية مكعبنا في محاكي HoloLens.

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

بعد اكتمال الإنشاء ، افتح حل Visual Studio في مجلد التطبيق. تغيير خيارات التصحيح إلى الإصدار x86 ، واستهداف محاكي HoloLens. يجب أن يبدو شريط الخيارات كما يلي:

خيارات التصحيح لمحاكي HoloLens

قم بتشغيل الحل ، وبعد بدء تشغيل المحاكي وتحميل التطبيق الخاص بك ، سترى المكعب الخاص بك على الشاشة.

مكعب في المحاكي

جعل المكعب التفاعلية

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

انتقل مرة أخرى إلى الوحدة وإنشاء برنامج نصي جديد في لوحة الأصول تسمى InteractiveCube. لإنشاء برنامج نصي جديد ، انقر بزر الماوس الأيمن على لوحة الأصول وحدد إنشاء -> C # برنامج نصي.

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

انقر نقرًا مزدوجًا فوق البرنامج النصي في علامة التبويب "الأصول" ويجب أن يظهر مثيل Visual Studio.

استيراد HoloToolkit.Unity.InputModule في الجزء العلوي من البرنامج النصي لدينا ، وجعل InteractiveCube توسيع IFocusable و IInputClickHandler. يجب أن يبدو رمزنا كما يلي:

باستخدام HoloToolkit.Unity.InputModule ؛
الطبقة العامة InteractiveCube: MonoBehaviour ، IFocusable ، IInputClickHandler {
...
}

من خلال توسيع واجهات IFocuable و IInputClickHandler ، يتيح مكون البرنامج النصي لدينا GameObject الأصل الاشتراك في التركيز والنقر فوق الأحداث.

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

bool العامة الدورية.
الفراغ العام OnFocusEnter ()
{
    الدورية = صحيح ؛
}
الفراغ العام OnFocusExit ()
{
    الدورية = خطأ ؛
}

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

تعويم العامة RotationSpeed.
تحديث باطل () {
    إذا (الدورية)
        convert.Rotate (Vector3.Up * Time.deltaTime
            * سرعة الدوران)؛
}

في الوحدة ، يتم استخدام التحويل للتحكم في السمات المادية مثل الحجم والتناوب وموضع GameObject. نحن نقوم بتدوير GameObject الأصل حول المحور ص في درجة واحدة في الثانية مضروبة في السرعة.

لجعل المكعب يستجيب لأحداث النقر ، أضف أسلوب OnInputClicked المطلوب بواسطة IInputClickHandler. إنشاء متغير Vector3 عام يسمى ScaleChange. في طريقة OnInputClicked ، سنزيد مقياس المكعب بواسطة ScaleChange.

Vector3 ScaleChange العامة ؛
void public OnInputClicked (InputClickedEventData eventData) {
    transform.localScale + = ScaleChange؛
}

الآن وقد انتهينا من البرنامج النصي ، انتقل مرة أخرى إلى الوحدة. تأكد من تحديد كائن Cube ، وتعيين متغيرات السرعة والتغيير إلى 50 و (.025 ، .025 ، .025) على التوالي. لا تتردد في تجربة مع قيم مختلفة! يجب أن يبدو نصنا كما يلي:

مدهش! لقد انتهينا من البرنامج النصي InteractiveCube. أنشئ تطبيقك من محرر Unity ، وقم بتشغيل الحل من Visual Studio.

ملخص

في هذا الاستعراض ، تعلمت كيفية إعداد Unity لتطوير HoloLens ، وإنشاء GameObject تفاعلية ، وتشغيل التطبيق في المحاكي.

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

إذا أعجبك المقال أو لديك ملاحظات ، فاترك تعليق أدناه!