Ćwiczenie — Azure Cloud Services for HoloLens 2

Ukończone

W każdym kolejnym rozdziale dodasz nowe usługi w chmurze platformy Azure, aby rozszerzyć funkcje aplikacji i środowisko użytkownika, ucząc się podstaw każdej usługi w chmurze platformy Azure.

Notatka

Ta seria modułów koncentruje się na urządzeniu HoloLens 2, ale ze względu na międzyplatformowy charakter silnika Unity większość z tych lekcji będzie również dotyczyć aplikacji na komputery stacjonarne i urządzenia mobilne.

Cele aplikacji

W tej serii modułów utworzysz aplikację HoloLens 2, która może wykrywać obiekty z obrazów i znajdować jego lokalizację przestrzenną. Będziemy odwoływać się do tych obiektów jako śledzone obiekty.

Użytkownik może utworzyć śledzony obiekt , aby skojarzyć zestaw obrazów za pomocą przetwarzania obrazów, lokalizacji przestrzennej lub obu tych elementów. Wszystkie dane muszą być utrwalane w chmurze.

Funkcje

  • Podstawowe zarządzanie danymi i obrazami
  • Uczenie i wykrywanie obrazów
  • Przechowywanie lokalizacji przestrzennej i wskazówek dojazdu

Azure Cloud Services

Do zaimplementowania powyższych funkcji użyjesz następujących usług Azure Cloud Services:

Azure Storage

Użyjesz usługi Azure Storage do utrwalania danych. Usługa Azure Storage umożliwia przechowywanie danych w tabeli i przekazywanie dużych plików binarnych, takich jak obrazy.

Azure Custom Vision

Za pomocą usługi Azure AI Custom Vision (część usług Azure AI) można skojarzyć zestaw obrazów z śledzonym obiektami, wytrenować model uczenia maszynowego w utworzonym zestawie i wykryć śledzone obiekty.

Utwórz i przygotuj projekt Unity

W tej sekcji utworzysz nowy projekt Unity i przygotujesz go do rozwoju przy użyciu zestawu narzędzi MRTK.

Najpierw wykonaj kroki opisane w ścieżce szkoleniowej Urządzenia HoloLens 2, z wyłączeniem instrukcji Tworzenie aplikacji na urządzeniu, które obejmują następujące kroki:

  1. Tworzenie projektu Unity i nadanie mu odpowiedniej nazwy, na przykład Samouczki Azure Cloud
  2. Przełączanie platformy kompilacji
  3. Importowanie podstawowych zasobów TextMeshPro
  4. Importowanie zestawu narzędzi Mixed Reality Toolkit
  5. Konfigurowanie projektu Unity
  6. Tworzenie i konfigurowanie sceny i nadanie scenie odpowiedniej nazwy, na przykład AzureCloudServices

Importowanie zasobów samouczka

  1. Pobierz i zaimportuj następujące niestandardowe pakiety Unity w podanej kolejności:

    Po zaimportowaniu zasobów samouczka okno Project powinno wyglądać podobnie do następującego:

    Zrzut ekranu przedstawiający okna Hierarchia, Scena i Projekt programu Unity po zaimportowaniu zasobów samouczka.

Przygotowywanie sceny

W tej sekcji przygotujesz scenę, dodając niektóre prefaby samouczka.

  1. W oknie Projekt przejdź do folderu Assets>MRTK.Tutorials.AzureCloudServices>Prefabs>Manager. Trzymając wciśnięty przycisk CTRL, wybierz SceneController, RootMenu i DataManager, aby wybrać trzy prefaby.

    Zrzut ekranu interfejsu Unity z wybranymi prefabami SceneController, RootMenu i DataManager.

    Element SceneController (prefab) zawiera dwa skrypty: SceneController (script) i UnityDispatcher (script). Składnik skryptu SceneController zawiera kilka funkcji UX i ułatwia funkcję przechwytywania zdjęć, podczas gdy UnityDispatcher jest klasą pomocnika umożliwiającą wykonywanie akcji w głównym wątku Unity.

    RootMenu (prefab) to podstawowy prefabrykat interfejsu użytkownika, który zawiera wszystkie okna interfejsu użytkownika połączone ze sobą za pomocą różnych małych komponentów skryptowych i steruje ogólnym przepływem doświadczeniem użytkownika aplikacji.

    Menedżer danych (prefab) jest odpowiedzialny za rozmowę z usługą Azure Storage i zostanie wyjaśniony w następnym samouczku.

  2. Teraz wybierz trzy prefaby i przeciągnij je do okna Hierarchia, aby dodać je do sceny.

    Zrzut ekranu Unity z nowo dodanymi prefabrykami SceneController, RootMenu i DataManager, które są nadal zaznaczone.

  3. Aby skoncentrować się na obiektach w scenie, możesz dwukrotnie kliknąć obiekt RootMenu, a następnie nieco się oddalić. Po wybraniu obiektu RootMenu zmień jego wartości w składniku Transform na następujące:

    Położenie: X = 0,0, Y = 1,6, Z = 0,6

    Zrzut ekranu Unity z wybranym obiektem RootMenu.

    Napiwek

    Jeśli znajdziesz duże ikony w scenie rozpraszające uwagę (na przykład duże ikony "T"), możesz je ukryć, przełączając Gizmos do pozycji wyłączonej.

Konfigurowanie sceny

W tej sekcji połączysz elementy SceneManager, DataManager i RootMenu , aby utworzyć scenę roboczą na potrzeby następnego samouczka Integrowanie usługi Azure Storage.

Łączenie obiektów

  1. W oknie Hierarchia wybierz obiekt DataManager :

    Zrzut ekranu programu Unity z wybranym obiektem DataManager.

  2. W oknie Inspector znajdź komponent DataManager (Script). Zobaczysz puste miejsce w zdarzeniu On Data Manager Ready (). Przeciągnij obiekt SceneController z okna Hierarchy do zdarzenia On Data Manager Ready ().

    Zrzut ekranu Unity z dodanym odbiornikiem zdarzeń DataManager.

  3. Menu rozwijane zdarzenia jest teraz aktywne. Wybierz menu rozwijane, przejdź do obszaru SceneController i wybierz opcję Init () w podmenu.

    Zrzut ekranu Unity z dodaną akcją zdarzenia DataManager.

  4. W oknie Hierarchia wybierz obiekt SceneController. Składnik SceneController (script) znajduje się w inspektorze.

    Zrzut ekranu Unity z wybranym SceneController.

  5. Istnieje teraz kilka niezapełnionych pól; zmieńmy to. Przenieś obiekt DataManager z hierarchii do pola Menedżer danych, a następnie przenieś obiekt RootMenu>MainMenu z hierarchii do pola Menu główne.

    Zrzut ekranu Unity ze skonfigurowanym SceneController.

  6. W oknie Hierarchia wybierz obiekt MRTK XR Rig . Upewnij się, że obiekt podrzędny mowy zestawu narzędzi MRTK jest włączony. Dzięki temu można otworzyć menu, mówiąc "Otwórz menu".

  7. Teraz twoja scena jest gotowa do nadchodzących samouczków. Nie zapomnij zapisać go w projekcie.

Przygotuj potok kompilacji projektu

Notatka

Kompilowanie i testowanie na urządzeniu HoloLens 2 nie jest obowiązkowe. Jeśli nie masz urządzenia HoloLens, możesz przetestować emulator urządzenia HoloLens 2 . Urządzenia można kupić w HoloLens.com.

Zanim zakończymy scenę, przygotujmy projekt do budowy aplikacji dla HoloLens 2.

1. Dodawanie innych wymaganych funkcji

  1. W menu Unity wybierz pozycję Edytuj>Ustawienia projektu..., aby otworzyć okno ustawień projektu.

    Zrzut ekranu przedstawiający otwieranie ustawień projektu w środowisku Unity.

  2. W oknie Ustawienia projektu wybierz pozycję Odtwarzacz, a następnie pozycję Ustawienia publikowania:

    Zrzut ekranu ustawień publikacji Unity.

  3. W obszarze Ustawienia publikowania przewiń w dół do sekcji Możliwości i sprawdź dokładnie, czy są włączone funkcje InternetClient, Mikrofon i SpatialPerception (włączone podczas tworzenia projektu na początku samouczka). Następnie włącz możliwości InternetClientServer, PrivateNetworkClientServer i Kamery internetowej :

    Zrzut ekranu przedstawiający możliwości aparatu Unity

2. Wdrażanie aplikacji na urządzeniu HoloLens 2

Nie będzie można wykorzystać wszystkich funkcji, z których będziesz korzystać w ramach tej serii samouczków, w edytorze Unity. W związku z tym należy zapoznać się z wdrażaniem aplikacji na urządzeniu HoloLens 2 lub emulatorze.

Napiwek

Aby przypomnieć sobie, jak zbudować i wdrożyć projekt Unity na HoloLens 2, można skorzystać z samouczka Pierwsze kroki - Budowanie i wdrażanie aplikacji.

3. Uruchom aplikację na urządzeniu HoloLens 2 i postępuj zgodnie z instrukcjami w aplikacji

Ostrożność

Wszystkie usługi platformy Azure korzystają z Internetu, dlatego upewnij się, że urządzenie jest połączone z Internetem.

Gdy aplikacja jest uruchomiona na urządzeniu, przyznaj dostęp do następujących żądanych możliwości:

  • Mikrofon
  • Kamera

Te możliwości są wymagane do prawidłowego działania usług, takich jak Custom Vision .