Tworzenie pierwszej aplikacji urządzenia HoloLens Unreal
Ten przewodnik przeprowadzi Cię przez proces uzyskiwania pierwszej aplikacji Mixed Reality uruchomionej na urządzeniu HoloLens w rozwiązaniu Unreal Engine. W tradycji "Hello world" utworzysz prostą aplikację, która wyświetla moduł na ekranie. Aby zwiększyć jego użyteczność, utworzysz również pierwszy gest, aby obrócić moduł i zamknąć aplikację.
Cele
- Uruchamianie projektu holoLens
- Włączanie poprawnych wtyczek
- Tworzenie zasobu danych ARSessionConfig
- Konfigurowanie danych wejściowych gestów
- Tworzenie poziomu podstawowego
- Implementowanie gestu szczypta
Tworzenie nowego projektu
Pierwszą rzeczą, z którą musisz pracować, jest projekt. Jeśli jesteś pierwszym deweloperem Unreal, musisz pobrać pliki pomocnicze z aplikacji Epic Launcher.
- Uruchom aparat Unreal Engine
- W obszarze Nowe kategorie projektów wybierz pozycję Gry i kliknij przycisk Dalej:
- Wybierz pusty szablon i kliknij przycisk Dalej:
- W obszarze Ustawienia projektu ustaw pozycję C++, Skalowalne 3D lub 2D, Urządzenia przenośne/tablety i Brak zawartości początkowej, a następnie wybierz lokalizację zapisywania i kliknij pozycję Utwórz projekt
Uwaga
Używasz języka C++ zamiast projektu strategii, aby móc później korzystać z wtyczki OpenXR. W tym przewodniku Szybki start jest używana domyślna wtyczka OpenXR dostarczana z aparatem Unreal Engine. Jednak zalecane jest pobranie i użycie oficjalnej wtyczki Microsoft OpenXR. Wymaga to, aby projekt był projektem C++.
Nowy projekt powinien zostać otwarty automatycznie w edytorze Unreal, co oznacza, że jesteś gotowy do następnej sekcji.
Włączanie wymaganych wtyczek
Przed rozpoczęciem dodawania obiektów do sceny należy włączyć dwie wtyczki.
- Otwórz pozycję Edytuj > wtyczki i wybierz pozycję Rzeczywistość rozszerzona z listy wbudowanych opcji.
- Przewiń w dół do urządzenia HoloLens i zaznacz pole wyboru Włączone
- Wpisz OpenXR w polu wyszukiwania w prawym górnym rogu i włącz wtyczki OpenXR i OpenXRMsftHandInteraction :
- Uruchom ponownie edytor
Uwaga
W tym samouczku użyto biblioteki OpenXR, ale dwie zainstalowane powyżej wtyczki nie udostępniają obecnie pełnego zestawu funkcji na potrzeby programowania na urządzeniu HoloLens. Wtyczka HandInteraction wystarczy do gestu "Pinch", którego będziesz używać później, ale jeśli chcesz przejść poza podstawy, musisz pobrać wtyczkę Microsoft OpenXR.
Po włączeniu wtyczek można skupić się na wypełnieniu jej zawartością.
Tworzenie poziomu
Następnym zadaniem jest utworzenie konfiguracji odtwarzacza z punktem wyjścia i modułem do celów referencyjnych i skalowania.
- Wybierz pozycję Plik > nowy poziom i wybierz pozycję Pusty poziom. Domyślna scena w okienku widoków powinna być teraz pusta
- Na karcie Tryby wybierz pozycję Podstawowe i przeciągnij pozycję PlayerStart do sceny
- Na karcie Szczegóły ustaw wartość Lokalizacjana X = 0, Y = 0 iZ = 0 , aby umieścić użytkownika w środku sceny po uruchomieniu aplikacji
- Na karcie Podstawowe przeciągnij moduł do sceny
- Ustaw lokalizację sześcianu na X = 50, Y = 0 i Z = 0 , aby ustawić moduł 50 cm od gracza na początku
- Zmień skalę modułu na X = 0,2, Y = 0,2 i Z = 0,2
Nie widać modułu, chyba że dodasz światło do sceny, czyli ostatnie zadanie przed rozpoczęciem testowania sceny.
- Na panelu Tryby przejdź do karty Światła i przeciągnij światło kierunkowe do sceny
- Umieść światło nad elementem PlayerStart , aby zobaczyć
- Przejdź do pozycji Zapisz plik > bieżący, nadaj poziomowi nazwę Main, a następnie wybierz pozycję Zapisz
Po ustawieniu sceny naciśnij pozycję Odtwórz na pasku narzędzi, aby zobaczyć, jak działa moduł! Po zakończeniu podziwiania pracy naciśnij klawisz Esc, aby zatrzymać aplikację.
Teraz, gdy scena jest skonfigurowana, przygotujmy ją do niektórych podstawowych interakcji w ar. Najpierw należy utworzyć sesję AR i dodać strategie, aby umożliwić interakcję z ręką.
Dodawanie elementu zawartości sesji
Sesje AR w Unreal nie zdarzają się samodzielnie. Do korzystania z sesji potrzebny jest zasób danych ARSessionConfig, z którym należy wykonać następne zadanie:
- W przeglądarce zawartości wybierz pozycję Dodaj nowy inny >> zasób danych i upewnij się, że jesteś na poziomie głównego folderu zawartość
- Wybierz pozycję ARSessionConfig, kliknij pozycję Wybierz i nadaj elementowi zawartości nazwę ARSessionConfig:
- Kliknij dwukrotnie plik ARSessionConfig , aby go otworzyć, Zapisz ze wszystkimi ustawieniami domyślnymi i wróć do okna Głównego:
W tym celu następnym krokiem jest upewnienie się, że sesja AR jest uruchamiana i zatrzymywana po załadowaniu i zakończeniu poziomu. Na szczęście Unreal ma specjalną strategię o nazwie Strategia poziomu , która działa jako globalny wykres zdarzeń na poziomie. Połączenie zasobu ARSessionConfig w strategii poziomu gwarantuje, że sesja AR zostanie uruchomiona bezpośrednio po rozpoczęciu gry.
- Na pasku narzędzi edytora wybierz pozycję Strategia strategii > na poziomie otwartym:
- Przeciągnij węzeł wykonywania (ikona strzałki po lewej stronie) z pola Początek zdarzeniaOdtwarzanie i wydanie
- Wyszukaj węzeł Rozpocznij sesję AR i naciśnij klawisz Enter
- Kliknij listę rozwijaną Wybierz zasób w obszarze Konfiguracja sesji i wybierz zasób ARSessionConfig
- Kliknij prawym przyciskiem myszy w dowolnym miejscu w usłudze EventGraph i utwórz nowy węzeł EndPlay zdarzeń .
- Przeciągnij pinezkę wykonywania i zwolnij, a następnie wyszukaj węzeł Zatrzymaj sesję AR i naciśnij klawisz Enter
- Naciśnij pozycję Kompiluj, a następnie pozycję Zapisz i wróć do okna Głównego
Ważne
Jeśli sesja ar jest nadal uruchomiona po zakończeniu poziomu, niektóre funkcje mogą przestać działać w przypadku ponownego uruchomienia aplikacji podczas przesyłania strumieniowego do zestawu nagłownego.
Konfigurowanie danych wejściowych
- Wybierz pozycję Edytuj > ustawienia projektu i przejdź do danych wejściowych aparatu >
- Wybierz ikonę + obok pozycji Mapowania akcji i utwórz akcje RightPinch i LeftPinch :
- Zamapuj akcje RightPinch i LeftPinch na odpowiednie akcje interakcji ręcznej biblioteki OpenXR Msft :
Konfigurowanie gestów
Teraz, gdy skonfigurowaliśmy dane wejściowe, możemy przejść do ekscytującej części: dodawanie gestów! Umożliwia obracanie sześcianu po prawej szczypcie i zamykanie aplikacji po lewej szczyptę.
- Otwórz strategię poziomu i dodaj element InputAction RightPinch i InputAction LeftPinch
- Połącz odpowiednie zdarzenie szczypta z elementem AddActorLocalRotationz modułem jako elementem docelowym, a rotacja różnicowa ustawiona na wartość X = 0, Y = 0 i Z = 20. Moduł będzie teraz obracał się o 20 stopni za każdym razem, gdy szczypta
- Łączenie zdarzeń z lewej szczypty do zakończenia gry
- W ustawieniach przekształcania modułu ustaw opcję Mobilność na Wartość Wymienna , aby umożliwić dynamiczne przenoszenie:
Na tym etapie możesz przystąpić do wdrażania i testowania aplikacji.