Ćwiczenie — dodawanie skryptów interakcji ręcznej do obiektu
Skrypt ObjectManipulator obsługuje modalność "bezpośredniej manipulacji" modelu wejściowego "kontrolerów rąk i ruchu". Gdy skrypt jest dołączony do obiektu, użytkownik może przenosić, skalować lub obracać obiekt rękami. W tym ćwiczeniu utworzysz dwa moduły, dołączysz do nich niezbędne skrypty, a następnie przeniesiesz moduły.
Dodawanie i dostosowywanie pierwszego modułu
Na pasku menu wybierz pozycję GameObject>3D Object>Cube.
Domyślny rozmiar modułu to jeden metr kwadratowy — jest to zbyt duże dla naszych celów. Przeskalujemy rozmiar w dół do 20x20x20 cm.
Wybierz moduł, a następnie w inspektorze zmień wartości Transform/Scale modułu na następujące:
X = 0,2, Y = 0,2, Z = 0,2
Moduł został umieszczony w scenie w domyślnej pozycji (0,0,0). Oznacza to, że moduł znajduje się w tej samej pozycji co zestaw słuchawkowy użytkownika, a użytkownik nie będzie mógł zobaczyć modułu, dopóki nie przejdzie do tyłu. Zmienimy wartości pozycji modułu, aby była w lepszej lokalizacji do wyświetlania.
W inspektorze zmień wartości przekształć/położenie modułu na następujące:
X = -0.2, Y = 1.6, Z = 0.5
Chcemy zobaczyć trzy boki modułu, więc zmienimy też rotację sześcianu.
Uwaga
Wysokość modułu jest ustawiona na 1,6, aby dopasować wysokość Aparat Przesunięcie na mrTK XR Rig, umieszczając go mniej więcej na poziomie oka.
W inspektorze zmień wartości Tranform/Rotation modułu na następujące:
X = 9, Y = 14, Z = 0
Napiwek
Aby powiększyć moduł, zaznacz go, upewnij się, że kursor znajduje się nad oknem Scena , a następnie naciśnij klawisz F. W ten sposób można powiększyć dowolny obiekt.
Dodawanie skryptów do modułu
Aby obiekt był "chwytany" za pomocą śledzonych rąk, musi mieć dołączone trzy składniki:
- Składnik zderzacza (nie musisz wykonywać żadnych czynności w tym miejscu — moduł aparatu Unity ma już dołączony domyślnie moduł Box Collider)
- Składnik Manipulator obiektów (skrypt)
Po wybraniu modułu w oknie Inspector (Inspektor) wybierz przycisk Add Component (Dodaj składnik), a następnie wyszukaj i wybierz skrypt Object Manipulator (Manipulator obiektów).
Skrypt ObjectManipulator sprawia, że obiekt można przenosić, skalować i obracać jedną lub dwiema rękami. Po dodaniu skryptu Object Manipulator skrypt programu Constraint Manager jest automatycznie dodawany, ponieważ skrypt manipulatora obiektów zależy od niego.
Aktualizowanie materiału modułu
W celach wydajności zaleca się używanie materiałów MRTK zamiast domyślnych materiałów aparatu Unity.
- Po wybraniu modułu znajdź sekcję "Materiały" w składniku Moduł renderowania siatki.
- Zastąp materiał domyślny materiałem MRTK_Standard_White znajdującym się w obszarze MRTK Standard Assets Materials>.
Dodawanie drugiego modułu
W hierarchii kliknij prawym przyciskiem myszy moduł, a następnie wybierz polecenie Duplikuj. Zduplikowany moduł zostanie wyświetlony z nazwą "Cube (1)."
Kliknij prawym przyciskiem myszy oryginalny moduł, wybierz polecenie Zmień nazwę, a następnie nadaj modułowi nazwę "Blisko modułu".
Kliknij prawym przyciskiem myszy zduplikowany moduł, wybierz polecenie Zmień nazwę, a następnie nadaj modułowi nazwę "Far Cube".
W tej chwili wygląda na to, że w widoku sceny znajduje się tylko jeden moduł. To dlatego, że w pobliżu sześcianu i far cube znajdują się dokładnie w tym samym miejscu. Zmieńmy pozycję i rotację Far Cube.
Po wybraniu opcji Far Cube zmień wartości w składniku Transform na następujące:
Pozycja: X = 0,6, Y = 1,6, Z = 1,1
Obrót: X = 27, Y = 0, Z = 0
Teraz aparat powinien zobaczyć Blisko sześcianu po lewej stronie i Far Cube nieco dalej po prawej stronie. Aby to potwierdzić, w hierarchii wybierz pozycję Main Aparat (w obszarze MRTK XR Rig> Aparat Offset), a następnie przejrzyj okno Main Aparat w oknie Scena.
Napiwek
Jeśli chcesz, aby widok w oknie Scena wyglądał bardziej podobnie do tego, co widzi aparat, przewiń w oknie Scena. Może być konieczne ustawienie opcji Clear Flags aparatu na Skybox, jeśli nie jest domyślnie.
Chwytanie i przenoszenie modułów w trybie odtwarzania
Wybierz przycisk Odtwórz. Po rozpoczęciu odtwarzania projektu widok przełącza się do okna Gra .
Uwaga
Przed rozpoczęciem odtwarzania upewnij się, że istnieje prawidłowy zestaw profilów w obszarze Project Ustawienia> MRTK3.
Wybierz przycisk z trzema kropkami powyżej prawego górnego rogu okna Gry , a następnie wybierz pozycję Maksymalizuj.
Naciśnij pasek spacji, aby wyświetlić symulowaną prawą rękę w widoku.
Przenieś symulowaną rękę bliżej w pobliżu modułu, aż dotknie sześcianu po stronie lub dolnej.
Wybierz lewy przycisk myszy (powoduje to, że ręka "chwycić" sześcian), a następnie przeciągnij sześcian wokół sceny.
Aby chwycić i przenieść Far Cube, użyjemy wskaźnika dalekiego dołączonego do symulowanej ręki.
Jeśli chcesz, naciśnij ponownie pasek spacji, aby wyświetlić symulowaną prawą rękę. Zwróć uwagę na wskaźnik daleko, który rozciąga się od końca palca indeksu dłoni.
Przesuń rękę bliżej far cube, aż zobaczysz końcówkę wskaźnika na sześcianie. Może być konieczne przeniesienie ręki w ruchu okrągłym kilka razy, aby na wierzchołku wskaźnika pojawić się na sześcianie.
Wybierz lewy przycisk myszy (sprawia to, że ręka jest zamknięta, biorąc pod uwagę to, co nazywamy "gestem szczypta"), a następnie przeciągnij sześcian wokół sceny.
Symulacja danych wejściowych w edytorze aparatu Unity
Możesz przetestować zachowanie obiektu holograficznego za pomocą funkcji symulacji danych wejściowych w edytorze aparatu Unity.
Zmienianie widoku w scenie
- Aby przenieść aparat do przodu/lewej/z powrotem/z prawej strony, naciśnij klawisze W/A/S/D.
- Aby przenieść aparat w pionie, naciśnij klawisze Q i E.
- Aby obrócić aparat, naciśnij prawy przycisk myszy, a następnie przeciągnij.
Symulowanie danych wejściowych ręcznie
- Aby włączyć symulowaną prawą rękę, naciśnij i przytrzymaj pasek spacji. Aby usunąć rękę, zwolnij pasek spacji.
- Aby włączyć lewą symulowaną rękę, naciśnij i przytrzymaj lewy klawisz shift. Aby usunąć rękę, zwolnij klucz.
- Aby przenieść jedną rękę wokół sceny, przesuń mysz.
- Aby przesunąć rękę do przodu lub do tyłu, obróć kółko przewijania myszy.
- Aby zasymulować gest szczypta, wybierz lewy przycisk myszy.
- Aby obrócić rękę, naciśnij i przytrzymaj pasek spacji + klawisz CTRL (po prawej stronie) lub lewy klawisz shift + ctrl (lewa ręka), a następnie przesuń mysz.
Trwałe ręce
- Aby włączyć rękę i zachować go na ekranie bez kontynuowania trzymania klawisza, naciśnij klawisz T (lewa ręka) lub Y (po prawej stronie). Aby usunąć ręce, naciśnij ponownie te klawisze.
Tworzenie aplikacji w środowisku Unity
Na pasku menu wybierz pozycję Kompilacja pliku>Ustawienia....
W oknie Kompilacja Ustawienia wybierz przycisk Dodaj otwarte sceny, aby dodać bieżącą scenę do listy Sceny w kompilacji.
Wybierz przycisk Kompilacja.
W oknie Kompilacja platforma uniwersalna systemu Windows przejdź do folderu, w którym chcesz przechowywać kompilację, lub utwórz nowy folder i przejdź do niego, a następnie wybierz przycisk Wybierz folder, aby rozpocząć proces kompilacji.
Zostanie wyświetlony pasek postępu, który poinformuje Cię o tym, jak trwa kompilacja.
(Opcjonalnie) Kompilowanie i wdrażanie aplikacji
Uwaga
Kompilowanie i testowanie na urządzeniu HoloLens 2 nie jest obowiązkowe. Alternatywnie możesz przetestować emulator urządzenia HoloLens 2 , jeśli nie masz urządzenia. Urządzenia można kupić w HoloLens.com.
Po zakończeniu procesu kompilacji zostanie otwarty Eksplorator plików systemu Windows i zostanie wyświetlony folder kompilacji. Przejdź do folderu, a następnie kliknij dwukrotnie plik rozwiązania, aby otworzyć go w programie Visual Studio:
Skonfiguruj program Visual Studio dla urządzenia HoloLens, wybierając konfigurację wzorca lub wydania i architekturę ARM64 :
Napiwek
Jeśli wdrażasz na urządzeniu HoloLens (1. generacja), wybierz architekturę x86 .
Uwaga
Jeśli w programie Visual Studio nie widzisz opcji "Urządzenie" jako elementu docelowego, może być konieczne zmianę projektu startowego rozwiązania z projektu IL2CPP na projekt platformy UWP. W tym celu w Eksplorator rozwiązań kliknij prawym przyciskiem myszy pozycję [nazwa projektu](uniwersalny system Windows), a następnie wybierz polecenie Ustaw jako projekt startowy.
Ważne
Przed utworzeniem kompilacji na urządzeniu urządzenie musi być w trybie dewelopera i sparowane z komputerem dewelopera. Zobacz sekcję o nazwie "Włączanie trybu dewelopera" na tej stronie.
Wybierz listę rozwijaną docelową wdrożenia, a następnie wykonaj jedną z następujących czynności:
- Jeśli tworzysz i wdrażasz za pośrednictwem sieci Wi-Fi, wybierz pozycję Maszyna zdalna.
- Jeśli tworzysz i wdrażasz za pośrednictwem portu USB, wybierz pozycję Urządzenie.
Ustaw połączenie zdalne: na pasku menu wybierz pozycję Właściwości projektu>.
W oknie Strony właściwości projektu wybierz pozycję Debugowanie właściwości > konfiguracji.
Wybierz listę rozwijaną Debuger, aby uruchomić, a następnie wybierz pozycję Maszyna zdalna, jeśli nie została jeszcze wybrana.
Ważne
Zalecamy ręczne wprowadzenie adresu IP, a nie zależności od funkcji "Wykryto automatycznie". Aby znaleźć swój adres IP, na urządzeniu HoloLens przejdź do Ustawienia Aktualizacje > i zabezpieczeń > dla deweloperów. Adres IP znajduje się w dolnej części okna w obszarze Ethernet.
W polu Nazwa komputera wprowadź adres IP urządzenia.
Ustaw tryb uwierzytelniania na uniwersalny (protokół niezaszyfrowany)..
Połączenie urządzenia HoloLens na komputer, a następnie w programie Visual Studio wykonaj jedną z następujących czynności:
- Aby wdrożyć aplikację na urządzeniu HoloLens i automatycznie uruchomić aplikację bez dołączonego debugera programu Visual Studio, wybierz pozycję Debuguj>rozpocznij bez debugowania.
- Aby wdrożyć aplikację na urządzeniu HoloLens bez automatycznego uruchamiania aplikacji, wybierz pozycję Kompiluj>rozwiązanie wdróż.
Parowanie urządzenia
Przy pierwszym wdrożeniu aplikacji na urządzeniu HoloLens z komputera zostanie wyświetlony monit o podanie numeru PIN. Aby utworzyć numer PIN:
- W urządzeniu HoloLens przejdź do Ustawienia Aktualizacje > i zabezpieczenia > dla deweloperów.
- Wybierz pozycję Para. Spowoduje to wyświetlenie numeru PIN w urządzeniu HoloLens.
- Wprowadź numer PIN w oknie dialogowym w programie Visual Studio.
- Po zakończeniu parowania w urządzeniu HoloLens wybierz pozycję Gotowe.
Komputer jest teraz sparowany z urządzeniem HoloLens i możesz automatycznie wdrażać aplikacje. Powtórz te kroki dla każdego komputera używanego do wdrażania aplikacji na urządzeniu HoloLens.
Uruchamianie aplikacji na urządzeniu HoloLens
Po zakończeniu kompilowania aplikacji w menu Start urządzenia HoloLens znajdź kafelek aplikacji, a następnie wybierz go.
Po uruchomieniu aplikacji skontaktuj się z modułem Blisko, a następnie przeciągnij go i przeciągnij.
Użyj wskaźnika dalekiego, aby chwycić far cube, a następnie przeciągnij go wokół.
Napiwek
Urządzenie HoloLens zapewnia większą elastyczność niż podczas testowania aplikacji w środowisku Unity. Możesz fizycznie poruszać się i używać skrajnego wskaźnika w pobliżu modułu lub dotrzeć i chwycić Far Cube z ręką!
Wskazówki
Możesz również wdrożyć w emulatorze urządzenia HoloLens lub utworzyć pakiet aplikacji na potrzeby ładowania bezpośredniego.
Możesz zauważyć profiler diagnostyki w aplikacji. Możesz go włączyć lub wyłączyć za pomocą polecenia mowy "Przełącz diagnostykę". Zalecamy, aby profiler był widoczny przez większość czasu podczas programowania, aby zrozumieć, jak zmiany w aplikacji mogą mieć wpływ na wydajność. Możesz na przykład monitorować aplikację, aby upewnić się, że szybkość klatek na sekundę wynosi co najmniej 60 klatek na sekundę.