Ćwiczenie — wprowadzenie do PC Holographic Remoting
Witamy w samouczkach HoloLens 2. W tym samouczku dowiesz się, jak utworzyć środowisko rzeczywistości mieszanej, które zawiera elementy interfejsu użytkownika, manipulowanie modelem 3D, wycinki modelu i funkcje śledzenia oczu. W drugim samouczku dowiesz się, jak utworzyć aplikację komputerową dla zdalnej komunikacji holograficznej, pozwalającą na łączenie się z HoloLens 2 w dowolnym momencie i wizualizowanie swojej aplikacji w 3D.
Aby pomyślnie ukończyć ten samouczek, powinieneś mieć podstawową wiedzę na temat Unity i Mixed Reality Toolkit (MRTK). Jeśli tego nie zrobisz, zalecamy, aby przed kontynuowaniem ukończyć samouczki wprowadzające.
Tworzenie i przygotowywanie projektu w Unity
W tej sekcji utworzysz nowy projekt Unity i przygotujesz go do rozwoju aplikacji MRTK.
Przejdź do ścieżki podstaw urządzenia HoloLens 2 i ukończ tam moduły, ale zatrzymaj się, gdy dojdziesz do modułów HoloLens 2. W wyniku wykonania tych instrukcji wykonasz następujące czynności:
- Utwórz projekt Unity i nadaj mu odpowiednią nazwę, na przykład PC Holographic Remoting.
- Przełączył platformę kompilacji.
- Zaimportowałem zasoby TextMeshPro Essential.
- Zaimportowano zestaw narzędzi Mixed Reality Toolkit i skonfigurowano projekt Unity.
- Utworzono scenę, nadano jej odpowiednią nazwę — na przykład PC Holographic Remoting.
Importowanie zasobów samouczka
Pobierz i zaimportuj pakiet MRTK.HoloLens2.Unity.Tutorials.Assets.PCHolographicRemoting.3.0.0.unitypackage .
Napiwek
Aby przypomnieć sobie, jak importować niestandardowy pakiet Unity, możesz zapoznać się z instrukcjami w sekcji Importowanie zestawu narzędzi Mixed Reality Toolkit.
Po zaimportowaniu zasobów samouczka okno Projektu powinno wyglądać podobnie do następującego:
Konfigurowanie i przygotowywanie sceny
W tej sekcji przygotujesz scenę, dodając niektóre prefaby z samouczka.
Po pierwsze, ponieważ niektóre modele są w formacie glTF, którego Unity nie obsługuje natywnie, musimy zainstalować pakiet, który umożliwia ich zaimportowanie.
Aby zainstalować bibliotekę glTFast typu open source, pobierz i uruchom ten plik: https://package-installer.glitch.me/v1/installer/OpenUPM/com.atteneder.gltfast?registry=https%3A%2F%2Fpackage.openupm.com& scope=com.atteneder
Wybierz pozycję Importuj.
Wybierz Zamknij.
W oknie Projekt przejdź do folderu Assets>MRTK.Tutorials.PCHolograhicRemoting>Prefabrykaty. Wybierz prefab SceneContent i przeciągnij go do dołu okna Hierarchia.
Aby wyświetlić scenę z punktu widzenia aparatu, kliknij prawym przyciskiem myszy obiekt Main Camera w oknie Hierarchy, a następnie wybierz Wyrównaj widok do zaznaczonego.
Napiwek
Jeśli uważasz, że duże ikony w scenie są rozpraszające (na przykład duże obramowane ikony "T"), możesz je ukryć, przełączając opcję Gizmos na Wyłączone.
Konfigurowanie przycisków do obsługi sceny
W tej sekcji dodasz skrypty do sceny oraz utworzysz zdarzenia przycisków, które pozwolą zaprezentować podstawowe zasady przełączania modeli i funkcjonalności wycinania.
Skonfiguruj składnik Pressable Button (script)
W oknie Hierarchia rozwiń obiekty SceneContent i ButtonParent, a następnie wybierz przycisk Dalej. W oknie Inspektora znajdź komponent Pressable Button i wybierz ikonę plusa (+) w zdarzeniu OnClick ().
Gdy obiekt NextButton jest nadal zaznaczony w oknie Hierarchia, przeciągnij obiekt ButtonParent z okna Hierarchia do pustego pola None (Object) zdarzenia, które właśnie dodałeś, aby obiekt ButtonParent nasłuchiwał zdarzenia kliknięcia z tego przycisku.
Wybierz listę rozwijaną No Function tego samego zdarzenia, a następnie wybierz ViewButtonControl>NextModel (), aby ustawić funkcję NextModel () jako akcję wyzwalaną po naciśnięciu przycisku:
Konfigurowanie pozostałych przycisków
Dla każdego z pozostałych przycisków wykonaj powyższy proces, aby przypisać funkcje do zdarzeń OnClick ():
- W przypadku obiektu PreviousButton przypisz funkcję ViewButtonControl>PreviousModel ().
- Dla ClippingButton wybierz funkcję ToggleButton>ToggleClipping ().
Konfigurowanie kontrolki przycisku wyświetlania (skrypt) i przycisku przełączającego (skrypt)
Na tym etapie przyciski zostały skonfigurowane, aby zademonstrować funkcjonalność przełączania modeli oraz przycinania. Następnie dodasz modele 3D do sceny i obiektów wycinków do skryptu.
Na potrzeby pokazu udostępniliśmy sześć różnych modeli 3D. Rozwiń obiekt ModelParent, aby uwidocznić te modele.
Gdy w oknie Hierarchia nadal zaznaczony jest obiekt ButtonParent, w oknie Inspektorze zlokalizuj składnik View Button Control (Script) i rozwiń zmienną Models.
W polu Rozmiar wprowadź liczbę modeli 3D, które chcesz mieć w scenie; w tym przypadku sześć. Spowoduje to utworzenie pól do dodawania nowych modeli 3D.
Przeciągnij każdy element podrzędny obiektu ModelParent do tych pól.
Przeciągnij obiekt ClippingObjects z okna Hierarchy do pola komponentu Toggle Button (Script)Clipping Object.
Notatka
Pozostań tylko w obiekcie ButtonParent.
W oknie Hierarchia wybierz prefab ClippingObjects i włącz go w oknie Inspektor, aby aktywować obiekty Clipping.
Skonfiguruj obiekty wycinania, aby włączyć funkcję przycinania
W tej sekcji dodasz renderery obiektów podrzędnych obiektu MarsCuriosityRover do jednego obiektu przycinania , aby zademonstrować przycinanie modelu MarsCuriosityRover.
W oknie Hierarchii rozwiń obiekt ClippingObjects, aby uwidocznić trzy różne obiekty przycinania, które będą używane w tym projekcie.
Aby skonfigurować obiekt ClippingSphere, zaznacz go, a następnie dodaj składnik Clipping Sphere w oknie Inspector (Inspektor). Następnie wprowadź liczbę renderatorów w polu Size, które należy dodać dla modelu 3D. W tym przypadku dodaj 10 dla obiektów potomnych MarsCuriosityRover. Spowoduje to utworzenie pól do dodawania modułów renderujących. Następnie przeciągnij obiekty modelu podrzędnego obiektu MarsCuriosityRover do tych pól.
Upewnij się, że obiekty przycinania (Clipping) są włączone, aktywując prefabrykat ClippingObjects w oknie Hierarchia.