Ćwiczenie — dodawanie skryptów interakcji ręcznej do obiektu

Ukończone

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

  1. Na pasku menu wybierz pozycję >>Cube.

    Zrzut ekranu przedstawiający polecenia menu służące do dodawania modułu.

    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.

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

  3. W inspektorze zmień wartości przekształć/położenie modułu na następujące:

    X = -0.2, Y = 1.6, Z = 0.5

    Zrzut ekranu przedstawiający składnik przekształcania modułu po aktualizacji.

    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.

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

    Zrzut ekranu przedstawiający dodawanie skryptu Object Manipulator.

    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.

    Zrzut ekranu przedstawiający skrypt menedżera ograniczeń dodany do modułu.

Aktualizowanie materiału modułu

W celach wydajności zalecamy używanie materiałów MRTK zamiast domyślnych materiałów aparatu Unity.

  1. Po wybraniu modułu znajdź sekcję Materiały w składniku Renderer siatki.
  2. 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

  1. W hierarchii kliknij prawym przyciskiem myszy moduł i wybierz polecenie Duplikuj. Zostanie wyświetlony zduplikowany moduł o nazwie Cube (1).

  2. Kliknij prawym przyciskiem myszy oryginalny moduł, wybierz polecenie Zmień nazwę i nadaj modułowi nazwę Near Cube.

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

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

    Zrzut ekranu przedstawiający widok Główny 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 flag Clear Flags aparatu na Skybox, jeśli nie jest domyślnie.

Chwytanie i przenoszenie modułów w trybie odtwarzania

  1. Wybierz przycisk Odtwórz. Po rozpoczęciu odtwarzania projektu widok przełącza się do okna Gra .

    Zrzut ekranu przedstawiający okno Gry po wprowadzeniu trybu odtwarzania.

    Uwaga

    Przed rozpoczęciem odtwarzania upewnij się, że istnieje prawidłowy zestaw profilów w obszarze Ustawienia>projektu MRTK3.

  2. Wybierz przycisk z trzema kropkami w prawym górnym rogu okna Gry i wybierz pozycję Maksymalizuj.

    Zrzut ekranu przedstawiający polecenie Maksymalizuj dla okna Gry.

  3. Naciśnij pasek spacji, aby wyświetlić symulowaną prawą rękę w widoku.

  4. Przenieś symulowaną rękę bliżej w pobliżu modułu, aż dotknie sześcianu po stronie lub dolnej.

    Zrzut ekranu przedstawiający symulowaną prawą rękę dotykającą modułu bliskiego.

  5. Naciśnij lewy przycisk myszy (powoduje to, że ręka "chwycić" sześcian) i przeciągnij sześcian wokół sceny.

    Zrzut ekranu przedstawiający przenoszenie modułu.

    Aby chwycić i przenieść Far Cube, użyjemy wskaźnika dalekiego dołączonego do symulowanej ręki.

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

    Zrzut ekranu przedstawiający wskaźnik daleko symulowanej ręki.

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

    Zrzut ekranu przedstawiający wskaźnik daleko dotykający modułu.

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

  1. Zminimalizuj okno Odtwarzania, wybierając przycisk trzy kropki , a następnie usuń zaznaczenie pola wyboru Maksymalizuj.

  2. Na pasku menu wybierz pozycję Ustawienia kompilacji pliku>....

  3. W oknie Ustawienia kompilacji wybierz przycisk Dodaj otwarte sceny, aby dodać bieżącą scenę do listy Sceny w kompilacji.

  4. Wybierz przycisk Kompilacja.

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

    Zrzut ekranu przedstawiający lokalizację zapisywania 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.

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

    Zrzut ekranu przedstawiający Eksplorator plików z wyświetlonym folderem builds.

  2. Skonfiguruj program Visual Studio dla urządzenia HoloLens, wybierając konfigurację wzorca lub wydania i architekturę ARM64 :

    Zrzut ekranu przedstawiający okno programu Visual Studio z opcjami kompilacji dla projektu.

    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.

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

    Zrzut ekranu przedstawiający okno programu Visual Studio z maszyną zdalną jako obiektem docelowym.

    • Jeśli tworzysz i wdrażasz za pośrednictwem portu USB, wybierz pozycję Urządzenie.

    Zrzut ekranu przedstawiający okno programu Visual Studio z urządzeniem jako elementem docelowym.

  4. Ustaw połączenie zdalne: na pasku menu wybierz pozycję > projektu.

  5. W oknie Strony właściwości projektu wybierz pozycję > właściwości konfiguracji.

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

  7. W polu Nazwa maszyny wprowadź adres IP urządzenia.

    Zrzut ekranu przedstawiający okno dialogowe Połączenie zdalne w programie Visual Studio.

  8. Ustaw tryb uwierzytelniania na uniwersalny (protokół niezaszyfrowany)..

  9. 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óż.

    Zrzut ekranu programu Visual Studio z wyświetlonym elementem menu Uruchom bez debugowania.

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:

  1. W urządzeniu HoloLens przejdź do pozycji Ustawienia > Aktualizacje i zabezpieczenia > dla deweloperów.
  2. Wybierz pozycję Para. Spowoduje to wyświetlenie numeru PIN w urządzeniu HoloLens.
  3. Wprowadź numer PIN w oknie dialogowym w programie Visual Studio.
  4. 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

  1. Po zakończeniu kompilowania aplikacji w menu Start urządzenia HoloLens znajdź kafelek aplikacji, a następnie wybierz go.

  2. Po uruchomieniu aplikacji skontaktuj się z modułem Blisko, a następnie przeciągnij go i przeciągnij.

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