Gyakorlat – Gombok és dinamikus menük panelje
A bemenetek többféleképpen is megadhatóak. A bemenetek bizonyos eseményeket aktiválnak, és módosításokat hajtanak végre. A felhasználói felület összetevői segítenek a felhasználóknak a hologramokkal való interakcióban a helyszínen.
Statikus gombpanel létrehozása
A Hierarchia ablakban kattintson a jobb gombbal a RoverExplorer objektumra, és válassza Üres létrehozása lehetőséget, ha a RoverExplorer gyermekként szeretne hozzáadni egy üres objektumot. Nevezze el az objektumot Gombok, és konfigurálja a Átalakítás összetevőt az alábbiak szerint:
- Pozíció: X = -0,6, Y = 0,036, Z = -0,5
- Rotáció: X = 90, Y = 0, Z = 0
- Méretezés: X = 1, Y = 1, Z = 1
A Projekt ablakban keresse meg az Eszközök>MRTK.Tutorials.GettingStarted>Prefabs mappát, kattintson és húzza a PressableCylinderButton előfábot a Gombok objektumra, majd kattintson a jobb gombbal a PressableCylinderButton-ra, és válassza a Duplikálás parancsot a másolat létrehozásához, ismételje meg, amíg a Gombokalatt összesen három PressableCylinderButton objektum legyen.
Egy ablak arra kéri, hogy importálja a TextMesh Pro-t. Válassza az első lehetőséget a "TMP Essentials importálása" elemre.
A Hierarchia panelen válassza ki a Gombok objektumot, majd az Ellenőrző panelen válassza a Összetevő hozzáadása lehetőséget az objektumsáv összetevő hozzáadásához. Konfigurálja az alábbiak szerint:
- objektumsáv folyamatiránya: Vízszintes
- térköz: X = 0,2, Y = 0
Rendelje hozzá az Gombok alatti objektumokat az Objektumsáv-objektumok listájához a(z) Objektumsáv összetevőn:
A Hierarchia panelen nevezze el a gombokat Tippek, Robbantás, majd Visszaállítás. Minden egyes gombnál módosítsa a SpeechRecognitionKeyword tulajdonságot a Speciális állapotalapúinteraktálási beállítások a Lenyomható gomb összetevőben a gombneveknek megfelelően:
A Hierarchia panelen válassza a Tippek gombobjektumot, majd a Felügyelő ablakban konfigurálja a PressableButton.OnClicked () eseményt az alábbiak szerint:
- Rendelje hozzá a RoverAssembly objektumot a Nincs (Objektum) mezőhöz
- A Nincs funkció legördülő listából válassza a PlacementHintsController>TogglePlacementHints () elemet, hogy ezt a függvényt állítsa be a futtatandó műveletként, amikor az esemény aktiválódik.
A Hierarchia panelen válassza ki a Robbantás gombobjektumot, majd a Felügyelő ablakában konfigurálja a PressableButton.OnClicked () eseményt az alábbiak szerint:
- Rendelje hozzá a RoverAssembly objektumot a Nincs (Objektum) mezőhöz
- A Nincs függvény legördülő listából válassza a ExplodedViewController>ToggleExplodedView() lehetőséget, hogy a függvényt az esemény aktiválásakor végrehajtandó műveletként állítsa be
A Játék mód megadásához nyomja le a Lejátszás gombot. Nyomja le és tartsa lenyomva a szóközbillentyűt a kéz aktiválásához, és az egérrel nyomja le a Tippek gombot az elhelyezési tippobjektumok láthatóságának váltásához:
Robbantás gomb be- és kikapcsolja a robbantott nézetet:
A modul későbbi részében implementáljuk a Alaphelyzetbe állítás gombot.
A felhasználót követő dinamikus menü létrehozása
A Projekt panelen keresse meg a Packages>MRTK UX Components>Near Menu mappát, kattintson és húzza a NearMenuBase előfabát a Hierarchia ablakba, állítsa az Átalakítás pozíció X = 0, Y = -0,4, Z = 0 értékre, és konfigurálja az alábbiak szerint:
- Ellenőrizze, hogy a SolverHandler összetevő nyomon követett céltípusaFej-nek van beállítva.
- Jelölje be a RadialView Solver összetevő melletti jelölőnégyzetet, hogy alapértelmezés szerint engedélyezve legyen
A Hierarchia ablakban nevezze át az objektumot Menü, majd bontsa ki a MenuContent-HorizontalLayout (Menü és rögzítés) > Buttons-GridLayout (Gombok) gyermekobjektumot a három gomb megjelenítéséhez:
Nevezze át a Buttons-GridLayout (Gombok) első gombját mutatóra, majd a Hierarchia ablakban konfigurálja a Mutató játék objektumot az alábbiak szerint:
- Jelölje ki a Előlap > AnimatedContent > Icon > Label objektumot, és módosítsa a TextMesh Pro összetevőt a gomb nevének megfelelően. Győződjön meg arról, hogy a Címke objektum aktiválva van a hierarchiában
- Konfigurálja a PressableButton.OnClicked() eseményt a Jelző objektum hozzárendelésével, amely chevronként néz ki, a Nincs (Objektum) mezőre, és válassza GameObject > SetActive (bool) lehetőséget a Nincs függvény legördülő listából (ellenőrizze, hogy az argumentum jelölőnégyzete van-e bejelölve)
- Jelölje ki az Előlap > AnimatedContent > Icon > UIButtonFontIcon objektumot, és módosítsa az ikont a Betűtípus ikonválasztó összetevő keresési ikonjára. Ezt megtalálhatja az ikonok listájában, vagy beállíthatja jelenlegi ikon nevét "Icon 130" értékre
A sávjelző objektum letiltásához a Hierarchia panelen válassza ki a sávjelként megjelenő Jelző objektumot, majd a Felügyelő panelen:
- Távolítsa el a jelölést a neve melletti jelölőnégyzetből, hogy alapértelmezés szerint inaktív legyen
- Az Összetevő hozzáadása gombbal adja hozzá az Irányjelző Vezérlő (Szkript) összetevőt.
Nevezze át a második gombot a TapToPlace , majd a Hierarchia ablakban konfigurálja a TapToPlace játékobjektumot az alábbiak szerint:
- Jelölje ki a Előlap > AnimatedContent > Icon > Label objektumot, és módosítsa a TextMesh Pro összetevőt a gomb nevének megfelelően. Győződjön meg arról, hogy a Címke objektum aktiválva van a hierarchiában
- A PressableButton.OnClicked() esemény konfigurálásához rendelje hozzá a RoverExplorer >RoverAssembly objektumot a Nincs (Objektum) mezőhöz, és válassza ki a TapToPlace>bool Engedélyezve lehetőséget a Nincs funkció legördülő listából (ellenőrizze, hogy az argumentum jelölőnégyzet be van-e jelölve).
- Jelölje ki az Előlap > AnimatedContent > Icon > UIButtonFontIcon objektumot, és módosítsa az ikont a kéz ikonra a Betűtípus ikonválasztó összetevőn. Ezt megtalálhatja az ikonok listájában, vagy beállíthatja jelenlegi ikonnév "Ikon 13" értékre
A Hierarchia ablakban válassza ki a RoverAssembly objektumot, majd a Felügyelő ablakban konfigurálja a Koppintás a helyhez (szkript) összetevőt az alábbiak szerint:
- Vegye ki a jelet a neve melletti jelölőnégyzetből, hogy alapértelmezésben inaktív legyen.
- A Placing Stopped () esemény szakaszában kattintson a + ikonra egy új esemény hozzáadásához.
- Rendelje hozzá a RoverExplorer>RoverAssembly objektumot a Nincs (Objektum) mezőhöz
- A Nincs függvény legördülő listából válassza a TapToPlace>bool Engedélyezve lehetőséget a tulajdonság értékének frissítéséhez az esemény aktiválásakor
- Ellenőrizze, hogy az argumentum jelölőnégyzet nincs-e bejelölve