Ć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ę >>Cube.
Domyślny rozmiar modułu to jeden metr kwadratowy, który jest zbyt duży dla naszych celów. Będziemy skalować rozmiar w dół do 20x20x20 centymetrów.
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ść przesunięcia kamery 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 f
Napiwek
Aby powiększyć moduł, zaznacz go, upewnij się, że kursor znajduje się nad oknem Scena , a następnie naciśnij 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 dwa składniki:
- Składnik zderzaka (nie musisz nic robić tutaj; Moduł aparatu Unity ma już domyślnie dołączony zderzacz 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 zalecamy używanie materiałów MRTK zamiast domyślnych materiałów aparatu Unity.
- Po wybraniu modułu znajdź sekcję Materiały w składniku Renderer siatki.
- Zastąp materiał domyślny materiałem MRTK_Standard_White znajdującym się w obszarze MRTK Standard Assets Materials>. Materiał można przeciągać i upuszczać z okienka Projekt w sekcji Materiały .
Dodawanie drugiego modułu
W hierarchii kliknij prawym przyciskiem myszy moduł i wybierz polecenie Duplikuj. Zostanie wyświetlony zduplikowany moduł o nazwie Cube (1).
Kliknij prawym przyciskiem myszy oryginalny moduł, wybierz polecenie Zmień nazwę i nadaj modułowi nazwę Near Cube.
Kliknij prawym przyciskiem myszy zduplikowany moduł, wybierz polecenie Zmień nazwę i 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ć Near Cube po lewej stronie i Far Cube nieco dalej po prawej stronie. Aby to potwierdzić, w hierarchii wybierz pozycję Kamera główna (w obszarze PRZESUNIĘCIE>), a następnie spójrz na okno Kamery głównejw 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 flag 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 Ustawienia>projektu MRTK3.
Wybierz przycisk z trzema kropkami w prawym górnym rogu okna Gry i 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.
Naciśnij lewy przycisk myszy (powoduje to, że ręka "chwycić" sześcian) i 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ę w sześcianie.
Naciśnij lewy przycisk myszy (sprawia to, że ręka jest zamknięta, biorąc na to, co nazywamy gestem szczypta) i 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 W/A/S/D .
- Aby przenieść aparat w pionie, naciśnij 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 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, naciśnij lewy przycisk myszy.
- Aby obrócić rękę, naciśnij i przytrzymaj wciśnięty CTRL spacji + (po prawej stronie) lub lewy 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, naciśnij T (lewa ręka) lub Y (po prawej stronie). Aby usunąć ręce, naciśnij ponownie te.
Tworzenie aplikacji w środowisku Unity
Zminimalizuj okno Odtwarzania, wybierając przycisk trzy kropki , a następnie usuń zaznaczenie pola wyboru Maksymalizuj.
Na pasku menu wybierz pozycję Ustawienia kompilacji pliku>....
W oknie Ustawienia kompilacji 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 i 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 element docelowy, może być konieczne zmianę projektu startowego rozwiązania z projektu IL2CPP na projekt platformy UWP . W Eksplorator rozwiązań kliknij prawym przyciskiem myszy pozycję [nazwa projektu](Uniwersalny system Windows) i wybierz polecenie Ustaw jako projekt startowy.
Ważne
Przed utworzeniem urządzenia urządzenie musi być w trybie dewelopera i sparowane z komputerem dewelopera. zobacz Włączanie trybu dewelopera.
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ę > projektu.
W oknie Strony właściwości projektu wybierz pozycję > 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 pozycji Ustawienia > Aktualizacje i zabezpieczenia > dla deweloperów. Adres IP znajduje się w dolnej części okna w obszarze Ethernet.
W polu Nazwa maszyny wprowadź adres IP urządzenia.
Ustaw tryb uwierzytelniania na uniwersalny (protokół niezaszyfrowany)..
Połącz urządzenie HoloLens z komputerem, a następnie wykonaj jedną z następujących czynności w programie Visual Studio:
- 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 pozycji 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 wybierz pozycję Gotowe w urządzeniu HoloLens.
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 ją 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ę.