Ćwiczenie — tworzenie inteligentnych umieszczania obiektów za pomocą narzędzi do rozwiązywania
Moduły rozwiązywania to jeden z składników zestawu narzędzi Mixed Reality Toolkit (MRTK). Przyjrzyjmy się dwóm typom rozwiązań i ich odpowiednim funkcjom.
Lokalizacja modułów rozwiązywania w zestawie narzędzi MRTK
Moduły rozwiązywania zestawu NARZĘDZI MRTK znajdują się w folderze zestawu SDK zestawu NARZĘDZI MRTK. Aby wyświetlić dostępne rozwiązania w projekcie, w oknie Project (Projekt) przejdź do pozycji Packages MRTK Spatial Manipulation Solvers (Pakiety>narzędzi do manipulowania>przestrzennego zestawu narzędzi MRTK).
Moduł rozwiązywania wskaźników kierunkowych
Użyj narzędzia do rozwiązywania wskaźnika kierunkowego, aby skierować użytkownika do obiektów. Oto, jak to zrobić:
W oknie Projekt przejdź do pozycji Zasoby>zestawu narzędzi MRTK. Tutorials.GettingStarted>Prefabs. Przeciągnij prefab chevron do okna Hierarchy (Hierarchia) i ustaw jego położenie przekształcenia na X = 0, Y = 1,5, Z = 2, aby umieścić go w pobliżu obiektu RoverExplorer.
Zmień nazwę nowo dodanego obiektu Chevron na Indicator. Następnie w oknie Inspector (Inspektor) wybierz pozycję Add Component (Dodaj składnik), aby dodać element DirectionalIndicator.
Skonfiguruj składniki DirectionalIndicator i SolverHandler w następujący sposób:
a. Sprawdź, czy element docelowy śledzonego typu składnika SolverHandler ma wartość Head.
b. Przypisz element RoverExplorer do elementu DirectionalIndicator Directional Target (Kierunek docelowy), przeciągając go z hierarchii do pola None (Transform).
c. Zmień przesunięcie widoku na 0.2.
Aby wprowadzić tryb gry, naciśnij przycisk Odtwórz. Naciśnij i przytrzymaj prawy przycisk myszy podczas przesuwania myszy w lewo lub w prawo, aby obrócić kierunek wzroku.
Zwróć uwagę, że po odejściu od obiektu RoverExplorer obiekt Indicator pojawi się i wskaże obiekt RoverExplorer.
Moduł rozwiązywania naciśnięcia do miejsca
Użyj modułu rozwiązywania Naciśnij, aby umieścić obiekty w miejscu. Oto, jak to zrobić:
W oknie Hierarchy (Hierarchia) wybierz obiekt RoverExplorer>RoverAssembly. Następnie w obszarze Inspector (Inspektor) użyj polecenia Add Component (Dodaj składnik ), aby dodać składnik Tap To Place . Skonfiguruj składnik w następujący sposób:
a. Sprawdź, czy element docelowy śledzonego typu składnika SolverHandler ma wartość Head.
b. Usuń zaznaczenie pola wyboru Użyj domyślnego przesunięcia normalnego powierzchni i upewnij się, że przesunięcie normalne powierzchni jest ustawione na 0.
c. Zaznacz pole wyboru Zachowaj orientację pionową .
Następnie użyj polecenia Dodaj składnik , aby dodać składnik Stateful Interactable . W oknie Inspector (Inspektor) znajdź zdarzenie Po kliknięciu (). Wybierz ikonę, + aby dodać nowe zdarzenie. Skonfiguruj zdarzenie w następujący sposób:
a. Przypisz obiekt RoverAssembly jako odbiornik zdarzenia Po kliknięciu (), przeciągając go z hierarchii do pola None (Object).
b. Z listy rozwijanej No Function (Brak funkcji) wybierz pozycję TapToPlacement>StartPlacement(), aby wywołać tę metodę po wyzwoleniu zdarzenia.
Po wybraniu obiektu RoverAssembly w oknie Hierarchia w oknie Inspector (Inspektor) znajdź zdarzenie On Placing Started (). Wybierz ikonę, + aby dodać nowe zdarzenie.
Skonfiguruj zdarzenie w następujący sposób:
a. Przypisz obiekt RoverAssembly jako odbiornik zdarzenia On Placing Started (), przeciągając go z hierarchii do pola None (Object).
b. Z listy rozwijanej Brak funkcji wybierz pozycję TapToPlace>float SurfaceNormalOffset, aby zaktualizować wartość właściwości SurfaceNormalOffset po wyzwoleniu zdarzenia.
c. Sprawdź, czy argument ma wartość 0.
W obszarze Hierarchia kliknij prawym przyciskiem myszy puste miejsce. Wybierz moduł obiektów>3D, aby utworzyć obiekt tymczasowy reprezentujący ziemię i skonfigurować składnik Transform w następujący sposób:
- Położenie: X = 0, Y = 0,15, Z = 6
- Obrót: X = 0, Y = 0, Z = 0
- Skala: X = 10, Y = 0,2, Z = 10
Aby wprowadzić tryb gry, naciśnij przycisk Odtwórz. Następnie naciśnij i przytrzymaj prawy przycisk myszy podczas przesuwania myszy w dół, aż spojrzenie uderzy w obiekt RoverAssembly .
Przytrzymaj pasek spacji i kliknij lewy przycisk myszy, aby nacisnąć powietrze, a następnie rozpocząć proces naciśnięcia do miejsca.
Naciśnij i przytrzymaj prawy przycisk myszy podczas przesuwania myszy w lewo lub w prawo, aby obrócić kierunek wzroku. Gdy jest zadowolony z umieszczania, przytrzymaj pasek spacji i kliknij lewy przycisk myszy, aby wykonać końcowe naciśnięcie powietrza.
Po zakończeniu testowania funkcji w trybie gry kliknij prawym przyciskiem myszy obiekt Cube i wybierz polecenie Usuń , aby usunąć ją ze sceny.