Ćwiczenie — Azure Cloud Services for HoloLens 2
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:
- Tworzenie projektu Unity i nadanie mu odpowiedniej nazwy, na przykład Samouczki Azure Cloud
- Przełączanie platformy kompilacji
- Importowanie podstawowych zasobów TextMeshPro
- Importowanie zestawu narzędzi Mixed Reality Toolkit
- Konfigurowanie projektu Unity
- Tworzenie i konfigurowanie sceny i nadanie scenie odpowiedniej nazwy, na przykład AzureCloudServices
Importowanie zasobów samouczka
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:
Przygotowywanie sceny
W tej sekcji przygotujesz scenę, dodając niektóre prefaby samouczka.
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.
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.
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.
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
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
W oknie Hierarchia wybierz obiekt DataManager :
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 ().
Menu rozwijane zdarzenia jest teraz aktywne. Wybierz menu rozwijane, przejdź do obszaru SceneController i wybierz opcję Init () w podmenu.
W oknie Hierarchia wybierz obiekt SceneController. Składnik SceneController (script) znajduje się w inspektorze.
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.
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".
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
W menu Unity wybierz pozycję Edytuj>Ustawienia projektu..., aby otworzyć okno ustawień projektu.
W oknie Ustawienia projektu wybierz pozycję Odtwarzacz, a następnie pozycję Ustawienia publikowania:
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 :
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 .