4. Interakcyjne tworzenie sceny

W poprzednim samouczku dodano tryb ARSession, Pawn i Game Mode, aby ukończyć konfigurację rzeczywistości mieszanej dla aplikacji szachowej. Ta sekcja koncentruje się na używaniu wtyczki open source Mixed Reality Toolkit UX Tools, która udostępnia narzędzia umożliwiające interaktywne tworzenie sceny. Na końcu tej sekcji twoje szachy będą przenoszone przez dane wejściowe użytkownika.

Cele

  • Instalowanie wtyczki Mixed Reality UX Tools
  • Dodawanie aktorów interakcji rąk do palców
  • Tworzenie i dodawanie manipulatorów do obiektów w scenie
  • Weryfikowanie projektu przy użyciu symulacji danych wejściowych

Pobieranie wtyczki Mixed Reality UX Tools

Przed rozpoczęciem pracy z danymi wejściowymi użytkownika należy dodać wtyczkę Mixed Reality UX Tools do projektu. Aby dowiedzieć się więcej na temat narzędzi środowiska użytkownika, możesz zapoznać się z projektem w GitHub.

  1. Otwórz program Epic Games Launcher. Przejdź do witryny Marketplace unreal engine i wyszukaj ciąg "Mixed Reality narzędzia środowiska użytkownika". Zainstaluj wtyczkę do aparatu.

Unreal Marketplace

  1. Po powrocie do edytora Unreal przejdź do Project Ustawienia>Plugins i wyszukaj ciąg "Mixed Reality narzędzia środowiska użytkownika". Upewnij się, że wtyczka jest włączona i uruchom ponownie edytor, jeśli zostanie wyświetlony monit.

Enabling Mixed Reality UX Tools plugin

  1. Wtyczka UXTools zawiera folder Content z podfolderami składników, w tym przycisków, symulacji XR i wskaźników oraz folderu Klasy języka C++ z dodatkowym kodem.

Uwaga

Jeśli nie widzisz sekcji UXTools Content (Zawartość narzędzia UXTools) w przeglądarce zawartości, zaznacz pole wyboru View Options Show Engine Content (Opcje widoku, Pokaż zawartość aparatu) i *View Options >Show Plugin Content (Pokaż zawartość wtyczki).>

Show engine content

Dodatkową dokumentację wtyczki można znaleźć w repozytorium narzędzi GitHub środowiska użytkownika Mixed Reality.

Po zainstalowaniu wtyczki możesz rozpocząć korzystanie z narzędzi, które ma do zaoferowania, począwszy od aktorów interakcji ręcznie.

Spawning Hand Interaction Actors

Interakcja ręczna z elementami środowiska użytkownika jest wykonywana z elementami Interakcji ręcznej, które tworzą wskaźniki i wizualizacje w celu uzyskania interakcji zbliżonych i odległych.

  • W pobliżu interakcji - szczypanie elementów między palcem wskazującym i kciukiem lub poszukiwanie ich palcem.
  • Dalekie interakcje - skierowanie promienia z wirtualnej ręki na element i naciśnięcie indeksu i kciuka razem.

W naszym przypadku dodanie aktora interakcji ręcznej do elementu MRPawn spowoduje:

  • Dodaj kursor do wskazówek palców indeksu pionka.
  • Podaj przegubowane zdarzenia wejściowe rąk, które można manipulować za pomocą pionu.
  • Zezwalaj na daleko interakcji zdarzeń wejściowych poprzez promienie ręczne rozciągające się od dłoni wirtualnych rąk.

Zalecamy przeczytanie dokumentacji dotyczącej interakcji ręcznie przed kontynuowaniem.

Gdy wszystko będzie gotowe, otwórz strategię MRPawn i przejdź do Graph zdarzeń.

  1. Przeciągnij i zwolnij pinezkę wykonywania z pola Event BeginPlay , aby umieścić nowy węzeł.

    • Wybierz pozycję Spawn Actor from Class (Duplikuj aktora z klasy), kliknij listę rozwijaną obok pinezki Klasy i wyszukaj pozycję Uxt Hand Interaction Actor (Aktor interakcji odręcznych).
  2. Zduplikuj drugi aktor interakcji odręcznych Uxt, tym razem ustawiając prawą rękę. Po rozpoczęciu zdarzenia na każdej ręce zostanie zduplikowany aktor interakcji uxt hand.

Graph zdarzeń powinna być zgodna z następującym zrzutem ekranu:

Spawn UXT Hand Interaction Actors

Zarówno aktorzy interakcji rąk Uxt potrzebują właścicieli, jak i początkowych lokalizacji transformacji. Początkowa transformacja nie ma znaczenia w tym przypadku, ponieważ narzędzia UX Tools będą miały aktorów interakcji ręcznie przeskoczyć do wirtualnych rąk, gdy tylko będą widoczne. Jednak funkcja wymaga przekształcenia danych wejściowych, SpawnActor aby uniknąć błędu kompilatora, więc użyjesz wartości domyślnych.

  1. Przeciągnij i zwolnij pinezkę z jednego z wyprowadzeń przekształcenia spawn , aby umieścić nowy węzeł.

    • Wyszukaj węzeł Utwórz przekształcenie , a następnie przeciągnij wartość zwracaną z drugiej strony do przekształcenia spawn , aby oba węzły SpawnActor zostały połączone.
  2. Wybierz strzałkę w dół w dolnej części obu węzłów SpawnActor , aby wyświetlić pinezkę Właściciela .

    • Przeciągnij pinezkę z jednego z wyprowadzeń właściciela i zwolnij, aby umieścić nowy węzeł.
    • Wyszukaj frazę self i wybierz pozycję Pobierz odwołanie do zmiennej samodzielnej .
    • Utwórz link między węzłem Odwołania do obiektu samodzielnego a drugim numerem PIN właściciela aktora interakcji.
  3. Na koniec zaznacz pole Pokaż blisko kursora w obszarze Chwyć elementy docelowe dla obu rąk aktorów interakcji. Kursor powinien pojawić się na docelowym chwycie, gdy palec indeksu zbliża się, aby zobaczyć, gdzie palec jest względem celu.

    • Skompiluj, zapisz i wróć do okna Głównego.

Upewnij się, że połączenia są zgodne z poniższym zrzutem ekranu, ale możesz przeciągać wokół węzłów, aby zwiększyć czytelną strategię.

Complete UXT Hand Interaction Actor setup

Więcej informacji na temat aktorów interakcji ręcznych można znaleźć w dokumentacji narzędzi UX Tools.

Teraz wirtualne ręce w projekcie mają sposób wybierania obiektów, ale nadal nie mogą nimi manipulować. Ostatnim zadaniem przed rozpoczęciem testowania aplikacji jest dodanie składników manipulatora do aktorów w scenie.

Dołączanie manipulatorów

Manipulator to składnik, który reaguje na przegubowe dane wejściowe ręki i może zostać chwycony, obrócony i przetłumaczony. Zastosowanie transformacji manipulatora do transformacji aktorów umożliwia bezpośrednie manipulowanie aktorem.

  1. Otwórz strategię Tablica , kliknij pozycję Dodaj składnik i wyszukaj pozycję Uxt Generic Manipulator w panelu Składniki .

Add a generic manipulator

  1. Rozwiń sekcję Generic Manipulator na panelu Szczegóły . W tym miejscu można ustawić manipulowanie jedną ręką lub dwiema rękami, tryb rotacji i wygładzanie. Możesz wybrać wybrane tryby, a następnie skompilować i zapisać tablicę.

Set the mode

  1. Powtórz powyższe kroki dla aktora WhiteKing .

Więcej informacji na temat składników manipulatora dostępnych w wtyczce Mixed Reality UX Tools można znaleźć w dokumentacji.

Testowanie sceny

Dobra wiadomość dla wszystkich! Możesz przystąpić do testowania aplikacji przy użyciu nowych wirtualnych rąk i danych wejściowych użytkownika. Naciśnij przycisk Odtwórz w oknie głównym i zobaczysz dwie ręce siatki z promieniami rozciągającym się z każdej dłoni. Możesz kontrolować ręce i ich interakcje w następujący sposób:

  • Przytrzymaj wciśnięty lewy klawisz Alt , aby kontrolować lewą rękę i lewy klawisz Shift , aby kontrolować prawą rękę.
  • Przesuń mysz, aby przesunąć rękę i przewinąć kółko myszy , aby przesunąć rękę do przodu lub do tyłu.
  • Użyj lewego przycisku myszy, aby szczypnąć i środkowy przycisk myszy, aby wyśmieć.

Uwaga

Symulacja danych wejściowych może nie działać, jeśli masz wiele zestawów nagłownych podłączonych do komputera. Jeśli masz problemy, spróbuj odłączyć inne zestawy słuchawkowe.

Simulated hands in the viewport

Spróbuj użyć symulowanych rąk, aby podnieść, przenieść i ustawić białego króla szachów i manipulować deską! Eksperymentuj zarówno z bliską, jak i daleko interakcji - zwróć uwagę, że gdy ręce się wystarczająco blisko, aby chwycić deskę i króla bezpośrednio, kursor palca na wierzchołku palca indeksu zastępuje promienie ręki.

Więcej informacji na temat funkcji symulowanych rąk dostarczonych przez wtyczkę narzędzi MRTK UX Można znaleźć w dokumentacji.

Teraz, gdy wirtualne ręce mogą wchodzić w interakcje z obiektami, możesz przejść do następnego samouczka i dodać interfejsy użytkownika i zdarzenia.

Następna sekcja: 5. Dodawanie przycisku & resetowania lokalizacji elementów