Gyakorlat – Gombok és dinamikus menük panelje

Befejeződött

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

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

    Unity képernyőképe, amelyen az újonnan létrehozott Gombok objektum van kijelölve és elhelyezve.

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

    Unity képernyőképe az újonnan hozzáadott PressableRoundButton előtagokkal.

    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.

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

    Unity Buttons objektum képernyőképe a GridObjectCollection összetevő hozzáadásával, konfigurálva és alkalmazva.

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

    Képernyőkép a gomb szövegfeliratainak konfigurálásáról.

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

    Képernyőkép a Tippek gombobjektum OnClick-esemény konfigurálásával.

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

    Unity képernyőképe, amelyen konfigurálva van a Robbantás gomb objektuma, az OnClick esemény.

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

    Unity Play mód osztott nézetének képernyőképe a Tippek gomb megnyomásával.

  8. Robbantás gomb be- és kikapcsolja a robbantott nézetet:

    Unity Play mód osztott nézetének képernyőképe a Felrobbantás gombbal.

    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

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

    Unity képernyőképe, amelyen a nemrég hozzáadott közeli menü prefab van kiválasztva.

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

    Unity képernyőképe, amelyen a Menü objektum van kijelölve, és a ButtonCollection objektum kibontva.

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

    Unity képernyőképe, amelyen a Button Config Helper konfigurálva van.

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

    Unity képernyőképe az Indicator objektummal kijelölve, letiltva és a DirectionalIndicatorController összetevő hozzáadva.

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

    Unity képernyőképe a TapToPlace gombobjektum gombkonfigurációs segédjével.

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

    Unity képernyőképe a TapToPlace-összetevő újrakonfigurálásakor.