Szybki start: tworzenie aplikacji HoloLens przy użyciu usługi Azure Object Anchors w językach C++/WinRT i DirectX
W tym przewodniku Szybki start opisano sposób tworzenia aplikacji HoloLens przy użyciu usługi Azure Object Anchors w językach C++/WinRT i DirectX. Object Anchors to zarządzana usługa w chmurze, która konwertuje zasoby 3D na modele sztucznej inteligencji, które umożliwiają obsługę rzeczywistości mieszanej obsługującej obiekty dla urządzenia HoloLens. Po zakończeniu będziesz mieć aplikację HoloLens, która może wykryć obiekt i jego pozycję w aplikacji Holographic DirectX 11 (universal Windows).
Dowiesz się, jak:
- Tworzenie i ładowanie bezpośrednie aplikacji HoloLens
- Wykrywanie obiektu i wizualizowanie jego modelu
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.
Wymagania wstępne
Aby ukończyć ten przewodnik Szybki start, upewnij się, że dysponujesz następującymi elementami:
- Obiekt fizyczny w środowisku i jego model 3D, CAD lub zeskanowany.
- Komputer z systemem Windows z zainstalowaną następującą instalacją:
- Git dla systemu Windows
- Program Visual Studio 2019 z obciążeniem programowania platforma uniwersalna systemu Windows i zestawem Windows 10 SDK (10.0.18362.0 lub nowszym)
- Urządzenie HoloLens 2, które jest aktualne i ma włączony tryb dewelopera.
- Aby zaktualizować najnowszą wersję na urządzeniu HoloLens, otwórz aplikację Ustawienia, przejdź do pozycji Aktualizuj i zabezpieczenia, a następnie wybierz pozycję Sprawdź dostępność aktualizacji.
Tworzenie konta kotwic obiektów
Najpierw należy utworzyć konto za pomocą usługi Object Anchors.
Przejdź do witryny Azure Portal i wybierz pozycję Utwórz zasób.
Wyszukaj zasób Zakotwiczenia obiektów.
Wyszukaj frazę "Object Anchors" (Kotwice obiektów).
W zasobie Zakotwiczenia obiektów w wynikach wyszukiwania wybierz pozycję Utwórz —> Kotwice obiektów.
W oknie dialogowym Konto kotwic obiektów:
- Wprowadź unikatową nazwę zasobu.
- Wybierz subskrypcję, do której chcesz dołączyć zasób.
- Utwórz istniejącą grupę zasobów lub użyj jej.
- Wybierz region, w którym ma istnieć zasób.
Wybierz pozycję Utwórz , aby rozpocząć tworzenie zasobu.
Po utworzeniu zasobu wybierz pozycję Przejdź do zasobu.
Na stronie przeglądu:
Zanotuj domenę konta. Będziesz jej potrzebować później.
Zanotuj identyfikator konta. Będziesz jej potrzebować później.
Przejdź do strony Klucze dostępu i zanotuj klucz podstawowy. Będziesz jej potrzebować później.
Przekazywanie modelu
Przed uruchomieniem aplikacji należy udostępnić modele aplikacji. Jeśli nie masz jeszcze modelu zakotwiczeń obiektów, postępuj zgodnie z instrukcjami w temacie Tworzenie modelu , aby go utworzyć. Następnie wróć tutaj.
Gdy urządzenie HoloLens jest włączone i połączone z urządzeniem deweloperskim (PC), wykonaj następujące kroki, aby przekazać model do folderu Obiekty 3D na urządzeniu HoloLens:
Zaznacz i skopiuj modele, z których chcesz pracować, naciskając klawisze Ctrl i C razem (Ctrl + C).
Naciśnij klawisze Logo systemu Windows i E razem (Win + E), aby uruchomić Eksplorator plików. Urządzenie HoloLens powinno zostać wyświetlone z innymi dyskami i folderami w okienku po lewej stronie.
Naciśnij link HoloLens, aby wyświetlić magazyn na urządzeniu HoloLens w okienku po prawej stronie.
W Eksplorator plików przejdź do pozycji Wewnętrzne obiekty 3D magazynu>. Teraz możesz wkleić modele w folderze Obiekty 3D, naciskając klawisze Ctrl i V razem (Ctrl + V).
Otwieranie przykładowego projektu
Sklonuj repozytorium przykładów, uruchamiając następujące polecenia:
git clone https://github.com/Azure/azure-object-anchors.git
cd ./azure-object-anchors
Otwórz plik Quickstarts/apps/directx/DirectXAoaSampleApp.sln w programie Visual Studio.
Zmień konfigurację rozwiązania na Wydanie, zmień platformęrozwiązania na ARM64, wybierz pozycję Urządzenie z opcji docelowych wdrożenia.
Konfigurowanie informacji o koncie
Następnym krokiem jest skonfigurowanie aplikacji do korzystania z informacji o koncie. Zanotuj wartości Klucz konta, Identyfikator konta i Domena konta w sekcji "Tworzenie konta kotwic obiektów".
Otwórz plik Assets\ObjectAnchorsConfig.json.
AccountId
Znajdź pole i zastąp Set me
ciąg identyfikatorem konta.
AccountKey
Znajdź pole i zastąp Set me
ciąg kluczem konta.
AccountDomain
Znajdź pole i zastąp Set me
ciąg domeną konta.
Teraz skompiluj projekt AoaSampleApp, klikając prawym przyciskiem myszy projekt i wybierając polecenie Kompiluj.
Wdrażanie aplikacji na urządzeniu HoloLens
Po pomyślnym skompilowaniu przykładowego projektu możesz wdrożyć aplikację na urządzeniu HoloLens.
Upewnij się, że urządzenie HoloLens jest włączone i podłączone do komputera za pośrednictwem kabla USB. Upewnij się, że urządzenie jest wybranym celem wdrożenia, jak pokazano powyżej.
Kliknij prawym przyciskiem myszy projekt AoaSampleApp , a następnie wybierz pozycję Wdróż z menu kontekstowego, aby zainstalować aplikację. Jeśli w oknie danych wyjściowych programu Visual Studio nie zostanie wyświetlony żaden błąd, aplikacja zostanie zainstalowana na urządzeniu HoloLens.
Przed uruchomieniem aplikacji należy przekazać model obiektów, na przykład chair.ou , do folderu Objects 3D na urządzeniu HoloLens. Jeśli nie, postępuj zgodnie z instrukcjami w sekcji Przekazywanie modelu .
Aby uruchomić i debugować aplikację, wybierz pozycję Debuguj>Rozpocznij debugowanie.
Pozyskiwanie modelu obiektów i wykrywanie jego wystąpienia
Aplikacja AoaSampleApp jest teraz uruchomiona na urządzeniu HoloLens. Przejdź blisko, w odległości 2-metrowej, do obiektu docelowego (krzesła) i przeskanuj go, patrząc na niego z wielu perspektyw. Powinno zostać wyświetlone różowe pole ograniczenia wokół obiektu z niektórymi żółtymi punktami renderowanymi blisko powierzchni obiektu, co oznacza, że został wykryty. Powinno zostać również wyświetlone żółte pole wskazujące obszar wyszukiwania.
Możesz zdefiniować miejsce wyszukiwania dla obiektu w aplikacji, klikając palcem w powietrzu prawym lub lewym przyciskiem myszy. Przestrzeń wyszukiwania będzie przełączać się między sferą o promieniu 2 metrów, pole ograniczenia 4 m^3 i frustum widoku. W przypadku większych obiektów, takich jak samochody, najlepszym wyborem jest zwykle użycie wyboru frustum widoku, stojąc w obliczu rogu obiektu na około 2-metrowej odległości. Za każdym razem, gdy obszar wyszukiwania zmienia się, aplikacja usuwa obecnie śledzone wystąpienia. Następnie próbuje znaleźć je ponownie w nowym obszarze wyszukiwania.
Ta aplikacja może jednocześnie śledzić wiele obiektów. W tym celu przekaż wiele modeli do folderu 3D Objects urządzenia i ustaw obszar wyszukiwania, który obejmuje wszystkie obiekty docelowe. Wykrywanie i śledzenie wielu obiektów może potrwać dłużej.
Aplikacja wyrównuje model 3D do swojego fizycznego odpowiednika. Użytkownik może nacisnąć powietrze przy użyciu lewej strony, aby włączyć tryb śledzenia o wysokiej precyzji, który oblicza dokładniejszą pozycję. Ta funkcja jest nadal eksperymentalna. Zużywa więcej zasobów systemowych i może spowodować wyższe zakłócenia w szacowanej pozy. Naciśnij ponownie powietrze z lewej strony, aby wrócić do normalnego trybu śledzenia.