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ą:
  • 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.

  1. Przejdź do witryny Azure Portal i wybierz pozycję Utwórz zasób.

    Create a new resource

  2. Wyszukaj zasób Zakotwiczenia obiektów.

    Wyszukaj frazę "Object Anchors" (Kotwice obiektów).

    Select the Object Anchors Resource

    W zasobie Zakotwiczenia obiektów w wynikach wyszukiwania wybierz pozycję Utwórz —> Kotwice obiektów.

    Create an Object Anchors Resource

  3. 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.

    Enter Object Anchors resource account details

    Wybierz pozycję Utwórz , aby rozpocząć tworzenie zasobu.

  4. Po utworzeniu zasobu wybierz pozycję Przejdź do zasobu.

    Go to resource

  5. Na stronie przeglądu:

    Zanotuj domenę konta. Będziesz jej potrzebować później.

    Copy the account domain for your Object Anchors resource

    Zanotuj identyfikator konta. Będziesz jej potrzebować później.

    Copy the account ID for your Object Anchors resource

    Przejdź do strony Klucze dostępu i zanotuj klucz podstawowy. Będziesz jej potrzebować później.

    Copy the account key for your Object Anchors resource

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:

  1. Zaznacz i skopiuj modele, z których chcesz pracować, naciskając klawisze Ctrl i C razem (Ctrl + C).

  2. 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.

    file explorer

  3. Naciśnij link HoloLens, aby wyświetlić magazyn na urządzeniu HoloLens w okienku po prawej stronie.

    open HoloLens internal storage

  4. 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).

    paste models in 3D Objects folder

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.

Screenshot shows configuring Visual Studio project to deploy.

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.

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

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.

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

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.

Następne kroki