التشغيل السريع: إنشاء تطبيق HoloLens باستخدام Azure Object Anchors في C++/WinRT وDirectX

يغطي هذا التشغيل السريع كيفية إنشاء تطبيق HoloLens باستخدام Azure Object Anchors في C++/WinRT وDirectX. Object Anchors هي خدمة سحابية مدارة تحول الأصول ثلاثية الأبعاد إلى نماذج الذكاء الاصطناعي تمكن تجارب الواقع المختلط المدرك للكائنات ل HoloLens. عند الانتهاء، سيكون لديك تطبيق HoloLens يمكنه اكتشاف كائن ووضعه في تطبيق Holographic DirectX 11 (Universal Windows).

ستتعلم كيفية:

  • إنشاء تطبيق HoloLens وتحميله جانبياً
  • اكتشاف كائن وتصور نموذجه

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

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

لإكمال هذا التشغيل السريع، تأكد من أن لديك:

  • كائن مادي في بيئتك ونموذجه ثلاثي الأبعاد، إما CAD أو ممسوح ضوئيا.
  • كمبيوتر Windows مثبت عليه ما يلي:
  • جهاز HoloLens 2 محدث وبه وضع المطوّر ممكّن.
    • للتحديث إلى أحدث إصدار من HoloLens، افتح الإعدادات الخاصة بالتطبيق، وانتقل إلى التحديث والأمان ، ثم حدد تأكد من التحديثات.

إنشاء حساب Object Anchors

أولاً، تحتاج إلى إنشاء حساب مع خدمة Object Anchors.

  1. انتقل إلى مدخل Azure، وحدد Create a resource.

    Create a new resource

  2. ابحث عن مورد Object Anchors.

    ابحث عن Object Anchors.

    Select the Object Anchors Resource

    في مورد Object Anchors في نتائج البحث، حدد Create -> Object Anchors.

    Create an Object Anchors Resource

  3. في مربع الحوار Object Anchors Account:

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

    Enter Object Anchors resource account details

    حدد Create لبدء إنشاء المورد.

  4. بمجرد إنشاء المورد، حدد Go to resource.

    Go to resource

  5. في صفحة النظرة العامة:

    ضع في اعتبارك Account Domain. سوف تحتاجها لاحقًا.

    Copy the account domain for your Object Anchors resource

    ضع في اعتبارك Account ID. سوف تحتاجها لاحقًا.

    Copy the account ID for your Object Anchors resource

    انتقل إلى صفحة Access Keys، ودوِّن Primary key. سوف تحتاجها لاحقًا.

    Copy the account key for your Object Anchors resource

قم بتحميل النموذج الخاص بك

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

مع تشغيل HoloLens وتوصيله بجهاز التطوير (الكمبيوتر)، اتبع الخطوات التالية لتحميل نموذج إلى مجلد الكائنات ثلاثية الأبعاد على HoloLens:

  1. حدد النماذج التي تريد العمل بها وانسخها بالضغط على مفتاح Ctrl وC، معًا (Ctrl + C).

  2. اضغط على مفتاح شعار Windows وE معًا (Win + E) لتشغيل مستكشف الملفات. يجب أن ترى HoloLens الخاص بك مدرجًا مع محركات الأقراص والمجلدات الأخرى في الجزء الأيسر.

    file explorer

  3. انقر على رابط HoloLens لإظهار سعة التخزين على جهاز HoloLens في الجزء الأيمن.

    open HoloLens internal storage

  4. في مستكشف الملفات، انتقل إلى الكائنات ثلاثية الأبعاد للتخزين > الداخلي. الآن، يمكنك لصق النماذج الخاصة بك في مجلد الكائنات ثلاثية الأبعاد عن طريق الضغط على مفتاح Ctrl وV معا (Ctrl + V).

    paste models in 3D Objects folder

فتح نموذج المشروع

نسخ مستودع العينات بتشغيل الأوامر التالية:

git clone https://github.com/Azure/azure-object-anchors.git

cd ./azure-object-anchors

افتح quickstarts/apps/directx/DirectXAoaSampleApp.sln في Visual Studio.

قم بتغيير Solution Configuration إلى Release، وتغيير Solution Platform إلى ARM64 ، ثم حدد Device من خيارات هدف النشر.

تكوين معلومات الحساب

الخطوة التالية هي تكوين التطبيق لاستخدام معلومات حسابك. لقد لاحظت قيم مفتاح الحساب ومعرف الحساب ونطاق الحساب، في قسم "Create an Object Anchors account".

افتح Assets\ObjectAnchorsConfig.json.

حدد موقع الحقل AccountId واستبدل Set me بمعرف حسابك.

حدد موقع الحقل AccountKey واستبدل Set me بمفتاح حسابك.

حدد موقع الحقل AccountDomain واستبدل Set me بمجال حسابك.

الآن، قم بإنشاء مشروع AoaSampleApp بالنقر بزر الماوس الأيمن فوق المشروع وتحديد Build.

Screenshot shows configuring Visual Studio project to deploy.

نشر التطبيق إلى HoloLens

بعد تجميع نموذج المشروع بنجاح، يمكنك نشر التطبيق على HoloLens.

تأكد من تشغيل جهاز HoloLens وتوصيله بالكمبيوتر من خلال كابل USB. تأكد من أن الجهاز هو هدف النشر المختار، كما هو موضح أعلاه.

انقر بزر الماوس الأيمن فوق مشروع AoaSampleApp ، ثم حدد Deploy من قائمة السياق لتثبيت التطبيق. إذا لم يظهر أي خطأ في نافذة الإخراجفي Visual Studio، فسيتم تثبيت التطبيق على HoloLens.

Screenshot shows the context menu for the project with Deploy selected.

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

لتشغيل التطبيق وتصحيحه، حدد Debug>Start debugging.

استيعاب نموذج الكائن واكتشاف مثيله

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

Photograph shows a chair with the bounding box, point cloud, and search area.

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

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

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

الخطوات التالية