Ć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.
Uwaga
Ta seria modułów koncentruje się na urządzeniu HoloLens 2, ale ze względu na międzyplatformowy charakter aparatu Unity większość z tych lekcji będzie również dotyczyć aplikacji klasycznych i mobilnych.
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
- Trenowanie i wykrywanie obrazów
- Przechowywanie lokalizacji przestrzennej i wskazówek
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.
Azure Spatial Anchors
Aby przechowywać lokalizację śledzonego obiektu i przekazać wskazówki z przewodnikiem, aby je znaleźć, użyjesz usługi Azure Spatial Anchors.
Tworzenie i przygotowywanie projektu aparatu Unity
W tej sekcji utworzysz nowy projekt aparatu Unity i przygotujesz go do opracowywania 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 aparatu Unity i nadanie mu odpowiedniej nazwy, na przykład Samouczki dotyczące chmury platformy Azure
- Przełączanie platformy kompilacji
- Importowanie podstawowych zasobów TextMeshPro
- Importowanie zestawu narzędzi Mixed Reality Toolkit
- Konfigurowanie projektu aparatu Unity
- Tworzenie i konfigurowanie sceny i nadanie scenie odpowiedniej nazwy, na przykład AzureCloudServices
Importowanie zasobów samouczka
Dodaj zestaw
AzurespatialAnchors
SDK do projektu. Aby dodać pakiet, wykonaj czynności opisane w tym samouczku.Pobierz i zaimportuj następujące pakiety niestandardowe aparatu Unity w kolejności ich wyświetlania:
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 prefabryki samouczka.
W oknie Projekt przejdź do zestawu narzędzi Assets>MRTK. Tutorials.AzureCloudServices>Prefabs>Manager folder. Trzymając wciśnięty przycisk CTRL, wybierz pozycję SceneController, RootMenu i DataManager, aby wybrać trzy prefab:
Element SceneController (prefab) zawiera dwa skrypty: SceneController (script) i UnityDispatcher (script). Składnik skryptu SceneController zawiera kilka funkcji środowiska użytkownika i ułatwia funkcję przechwytywania zdjęć, podczas gdy UnityDispatcher jest klasą pomocnika umożliwiającą wykonywanie akcji w głównym wątku aparatu Unity.
RootMenu (prefab) to podstawowy prefab interfejsu użytkownika, który przechowuje wszystkie okna interfejsu użytkownika połączone ze sobą za pomocą różnych małych składników skryptu i steruje ogólnym przepływem środowiska 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 po wybraniu trzech prefab przeciągnij je do okna Hierarchia, aby dodać je do sceny:
Aby skoncentrować się na obiektach w scenie, możesz dwukrotnie kliknąć obiekt RootMenu , a następnie nieco pomniejsić ponownie. 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.
Połączenie obiektów
W oknie Hierarchia wybierz obiekt DataManager :
W oknie Inspector (Inspektor) znajdź składnik DataManager (Script). Zobaczysz puste miejsce w zdarzeniu On Data Manager Ready (). Przeciągnij obiekt SceneController z okna Hierarchy (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 Hierarchy (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> GameObject 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.
Przygotowywanie potoku kompilacji projektu
Uwaga
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 skompilowania urządzenia HoloLens 2.
1. Dodawanie innych wymaganych funkcji
W menu aparatu Unity wybierz pozycję Edytuj>projekt Ustawienia..., aby otworzyć okno Ustawienia projektu.
W oknie Ustawienia projektu wybierz pozycję Odtwarzacz, a następnie pozycję Publikowanie Ustawienia:
W obszarze Publikowanie Ustawienia przewiń w dół do sekcji Możliwości i sprawdź dokładnie, czy są włączone możliwości 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 uruchomić wszystkich funkcji używanych w tej serii samouczków w edytorze aparatu Unity. W związku z tym należy zapoznać się z wdrażaniem aplikacji na urządzeniu HoloLens 2 lub emulatorze.
Napiwek
Przypomnienie o sposobie kompilowania i wdrażania projektu aparatu Unity na urządzeniu HoloLens 2 można znaleźć w samouczkach Wprowadzenie — kompilowanie i wdrażanie instrukcji aplikacji .
3. Uruchom aplikację na urządzeniu HoloLens 2 i postępuj zgodnie z instrukcjami w aplikacji
Uwaga
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 .