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

Ukończone

Skrypty ObjectManipulator i NearInteractionGrabbable obsługują modalność modelu wprowadzania "kontrolerów rąk i ruchu". Gdy skrypty są dołączone 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ę GameObject>3D Object>Cube.

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

    Domyślny rozmiar modułu to jeden metr kwadratowy — jest to zbyt duże dla naszych celów. Będziemy skalować rozmiar w dół do 20x20x20 cm.

  2. Wybierz moduł, a następnie w inspektorze zmień wartości Tranform/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 położenia modułu, aby była w lepszej lokalizacji do wyświetlania.

  3. W inspektorze zmień wartości Tranform/Position modułu na następujące:

    X = -0,2, Y = 0,1, Z = 0,5

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

    Chcemy mieć możliwość zobaczenia trzech stron sześcianu, więc zmienimy też obrót sześcianu.

    1. W inspektorze zmień wartości Tranform/Rotation modułu na następujące:

    X = 9, Y = 14, Z = 0

    Porada

    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 box collider)
  • Składnik Object Manipulator (Script)
  • Składnik NearInteractionGrabbable (Script)
  1. Po wybraniu modułu w oknie Inspector (Inspektor ) kliknij 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 programu Constraint Manager dodany do modułu.

  2. Powtórz te same kroki, aby dodać skrypt Near Interaction Grabbable do modułu.

    Skrypt NearInteractionGrabbable daje użytkownikowi możliwość dotarcia i chwytania pobliskich obiektów za pomocą symulowanej ręki.

Dodawanie drugiego modułu

  1. W hierarchii kliknij prawym przyciskiem myszy moduł, a następnie wybierz pozycję Duplikuj. Zduplikowany moduł zostanie wyświetlony z nazwą "Cube (1)."

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

  3. 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 Scena znajduje się tylko jeden moduł. To dlatego, że Near Cube i Far Cube są w tym samym dokładnie miejscu. Zmieńmy pozycję i rotację Far Cube.

  4. Przy nadal zaznaczonym elemencie Far Cube zmień jego wartości w składniku Transform na następujący:

    Pozycja: X = 0,6, Y = 0,1, 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 , a następnie spójrz na okno Kamera główna w oknie Scena .

    Zrzut ekranu przedstawiający widok Kamery głównej w oknie Scena.

    Porada

    Jeśli chcesz, aby widok w oknie Scena wyglądał bardziej jak to, co widzi aparat, przewiń w oknie Scena .

Chwytaj i przenosij moduły w trybie odtwarzania

  1. Kliknij przycisk Odtwórz. Po rozpoczęciu odtwarzania projektu widok przechodzi do okna Gra .

    Zrzut ekranu przedstawiający okno Gry po przejściu do trybu odtwarzania.

  2. Kliknij przycisk z trzema kropkami nad prawym górnym rogu okna Gra , a następnie 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 do zbliżenia modułu do momentu dotknięcia sześcianu po stronie lub dolnej części.

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

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

    Zrzut ekranu przedstawiający przenoszenie modułu.

    Aby chwycić i przenieść Far Cube, użyjemy dalekiego wskaźnika 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 daleki wskaźnik, który rozciąga się od końca palca wskazującego rękę.

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

  7. Przenieś rękę bliżej far cube, aż zobaczysz końcówkę wskaźnika w sześcianie. Może być konieczne przeniesienie ręki w okrągłym ruchu kilka razy, aby końcówka wskaźnika pojawiła się na sześcianie.

    Zrzut ekranu przedstawiający daleko wskaźnik dotykający sześcianu.

  8. Kliknij lewy przycisk myszy (powoduje to zamknięcie ręki, biorąc na to, co nazywamy "gestem szczypta"), a następnie przeciągnij sześcian wokół sceny.

Symulacja danych wejściowych w edytorze aparatu Unity

Zachowanie obiektu holograficznego można przetestować za pomocą funkcji symulacji danych wejściowych w edytorze aparatu Unity.

Zmień widok w scenie:

  • Aby przesunąć aparat do przodu/lewej/z tyłu/w prawo, 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ęcznych:

  • 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 poruszać 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 szczypty, kliknij lewy przycisk myszy.
  • Aby obrócić rękę, naciśnij i przytrzymaj wciśnięty pasek spacji + klawisz CTRL (po prawej stronie) lub klawisz shift w lewo + 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 przytrzymanie klawisza, naciśnij klawisz T (lewa ręka) lub Y (po prawej stronie). Aby usunąć ręce, naciśnij te klawisze ponownie.

Kompilowanie aplikacji w aplikicie Unity

  1. Na pasku menu wybierz pozycjęUstawienia kompilacjipliku>....

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

  3. Kliknij przycisk Build (Kompilacja ).

  4. W oknie Kompilowanie 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 kliknij przycisk Wybierz folder, aby rozpocząć proces kompilacji.

    Zrzut ekranu przedstawiający lokalizację do zapisania kompilacji.

    Zostanie wyświetlony pasek postępu informujący o tym, jak działa 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 system Windows Eksplorator plików i zostanie wyświetlony folder kompilacji. Przejdź do folderu, a następnie 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.

    Porada

    Jeśli wdrażasz na urządzeniu HoloLens (1. generacja), wybierz architekturę x86 .

    Uwaga

    W przypadku urządzenia HoloLens zazwyczaj utworzysz architekturę arm. Jednak w środowisku Unity 2019.3 występuje znany problem , który powoduje błędy podczas wybierania usługi ARM jako architektury kompilacji w programie Visual Studio. Aby obejść ten problem, zalecamy skompilowanie dla architektury ARM64. Jeśli nie jest to opcja, w afiszcie Unity przejdź do pozycji Edytuj>odtwarzacz>ustawień> projektuInne ustawienia i wyłącz zadania grafiki.

    Uwaga

    Jeśli w programie Visual Studio nie widzisz opcji "Urządzenie" jako element docelowy, może być konieczne zmianę projektu startowego dla 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 pozycję Ustaw jako projekt startowy.

    Ważne

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

  3. Kliknij 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 obiektem docelowym.

  4. Ustaw połączenie zdalne: na pasku menu wybierz pozycję Właściwości projektu>.

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

  6. Kliknij 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 od funkcji "Wykryto automatycznie". Aby znaleźć swój adres IP, na urządzeniu HoloLens przejdź do pozycji Ustawienia > Aktualizacje & 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.

    Okno dialogowe połączenia zdalnego w programie Visual Studio

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

  9. Połącz urządzenie HoloLens z komputerem, 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ę Rozpocznij debugowanie>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. Na urządzeniu HoloLens przejdź do pozycji Ustawienia > Aktualizacje & Zabezpieczenia > dla deweloperów.
  2. Wybierz pozycję Para. Spowoduje to wyświetlenie numeru PIN na urządzeniu HoloLens.
  3. Wprowadź numer PIN w oknie dialogowym w programie Visual Studio.
  4. Po zakończeniu parowania na urządzeniu HoloLens wybierz pozycję Gotowe.

Komputer jest teraz sparowany z urządzeniem HoloLens i można automatycznie wdrażać aplikacje. Powtórz te kroki dla każdego komputera, który jest używany 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 Near Cube, a następnie przeciągnij go i przeciągnij.

  3. Użyj skrajnego wskaźnika, aby chwycić far cube, a następnie przeciągnij go wokół.

    Porada

    Urządzenie HoloLens zapewnia większą elastyczność niż podczas testowania aplikacji w aplikicie Unity. Możesz fizycznie poruszać się i używać dalekiego wskaźnika na Near Cube lub dotrzeć i chwycić Far Cube ręką!

Porady