Dela via


Knapp – MRTK3

Knapp, huvud

En knapp ger användaren ett sätt att utlösa en omedelbar åtgärd. Det är en av de mest grundläggande komponenterna i mixad verklighet, och att tillhandahålla tillfredsställande och tillförlitliga knappinteraktioner är viktigt för en mixad verklighetsupplevelse av hög kvalitet. MRTK innehåller två kategorier av knappprefabs: Arbetsytebaserad och icke-arbetsytebaserad. Båda konfigurationerna använder skriptet PressableButton , en underklass av StatefulInteractable utökad för att inkludera beteenden som är specifika för knappar.

Läs mer om hur hybridgränssnittssystemet för arbetsytor fungerar..

Exempelscener

Om du använder projektet för utvecklingsmallen finns det flera exempelscener som visar de tillgängliga knappprefaberna.

CanvasUITearSheet.unity visar alla tillgängliga prefab-varianter av arbetsytorbaserade knappar i MRTK.

Canvas Tearsheet

CanvasExample.unity visar några exempel på hur du skapar större layouter med hjälp av arbetsytebaserade komponenter.

Exempelscen för arbetsytor

Prefabs

Arbetsytebaserade knappar är flexibla och konfigurerbara och kan ändras till valfri dimension eller proportion. Därför tillhandahålls bara några få knappprefabs.

  • EmptyButton ger pressbar yta/frontplatta, holografisk bakplatta och ljusskenseffekt. Det finns ingen text, ikon, etikett eller annat innehåll. Det här är så att mer abstrakta knappliknande kontroller kan skapas som en variant av den här prefab utan att störa text- eller ikoninnehållet.
  • ActionButton är en enkel knapp som innehåller en ikon, text och en etikett. Dessa enskilda komponenter kan aktiveras eller inaktiveras och layoutsystemet anpassas därefter.

Andra förbättringar kan läggas till i knappen, till exempel växlingsreglageindikatorn. Funktioner som inte är avsedda att flyttas med frontplattan ska kopplas till backplate-komponenten.

Lägga till en växlingsknapp

Struktur

De olika delarna i en ActionButton kan aktiveras/inaktiveras för att anpassa hur knappen ser ut och fungerar. Vi har dissekerat två olika möjliga konfigurationer för att visa de olika delarna av knappprefab. "Backglow" visas inte i dessa skärmbilder eftersom knappen inte aktivt trycks ned.

Först en större konfiguration där huvudtextobjektet är aktivt och använder infogade format för att visa både ett sidhuvud och en undertext. Stor knappstruktur för arbetsytor För det andra en mindre konfiguration där är aktiv för att visa en beskrivning av åtgärden under ikonen. Huvudtextobjektet är inaktiverat. Knappstruktur för liten arbetsyta

PressableButton Klass

Klassen PressableButton härleds från StatefulInteractable med nya och åsidosatta funktioner som är specifika för knappar. I Inspector kan du konfigurera inställningar relaterade till volymtrisk press förutom alla andra konfigurerbara inställningar från StatefulInteractable. Skärmbild av PressableButton Inspector

Skapa användargränssnitt med knappar

När du skapar meny- eller gränssnittspaneler med flera knappar rekommenderar vi att du använder en delad backplategeometri. Genom att använda en delad backplate kan vi minska det visuella bruset och förbättra användbarheten. Här är några av exemplen på hur du lägger ut knappar ovanpå den delade bakplattan.

Skapa användargränssnitt 1

Skapa användargränssnitt 2

Skapa användargränssnitt 3

Ytterligare komponenter

Här är några ytterligare komponenter som ansvarar för att hantera aspekter av visuella knappobjekt och funktioner:

  • Den visuella framplåtspulsen som observeras när knappen väljs hanteras av en InteractablePulse komponent.
  • Knappikonen kan vara inställd på en MRTK-ikon med .FontIconSelector
  • A RectTransformColliderFitter kan också användas på knappar för arbetsytor för att anpassa dess BoxCollider till dess RectTransform. Den här komponenten är inaktiverad som standard för prestanda.