Schaltfläche – MRTK3
Eine Schaltfläche ermöglicht dem Benutzer das unmittelbare Auslösen einer Aktion. Es ist eine der grundlegendsten Komponenten in Mixed Reality, und die Bereitstellung befriedigender und zuverlässiger Schaltflächeninteraktionen ist für eine hochwertige Mixed Reality-Erfahrung unerlässlich. MRTK stellt zwei Kategorien von Schaltflächen-Prefabs bereit: Canvas-basiert und Nicht-Canvas-basiert. Beide Konfigurationen verwenden das PressableButton
Skript, eine Unterklasse von StatefulInteractable
erweitert, um verhaltensweisenspezifisch für Schaltflächen einzuschließen.
Erfahren Sie mehr über die Funktionsweise des hybriden Canvas-UI-Systems.
Beispielszenen
Wenn Sie das Entwicklungsvorlagenprojekt verwenden, stehen mehrere Beispielszenen zur Verfügung, die die verfügbaren Schaltflächen-Prefabs veranschaulichen.
CanvasUITearSheet.unity zeigt alle verfügbaren Canvas-basierten Schaltflächen-Prefab-Varianten in MRTK an.
CanvasExample.unity zeigt einige Beispiele für das Erstellen größerer Layouts mit den Canvas-basierten Komponenten.
Prefabs
Canvas-basierte Schaltflächen sind flexibel und konfigurierbar und können auf eine beliebige Dimension oder Proportion angepasst werden. Daher werden nur wenige Schaltflächen-Prefabs bereitgestellt.
- EmptyButton bietet die druckbare Oberfläche/Frontplatte, die holografische Backplate und den Leuchteffekt. Es gibt keinen Text, kein Symbol, keine Bezeichnung oder andere Inhalte. Dies ist so abstraktere schaltflächenähnliche Steuerelemente können als Variante dieses Prefabs erstellt werden, ohne den Text- oder Symbolinhalt zu beeinträchtigen.
- ActionButton ist eine einfache Schaltfläche, die ein Symbol, Text und eine Bezeichnung enthält. Diese einzelnen Komponenten können aktiviert oder deaktiviert werden, und das Layoutsystem passt sich entsprechend an.
Der Schaltfläche können weitere Verbesserungen hinzugefügt werden, z. B. die Umschaltanzeige. Features, die nicht mit der Frontplatte verschoben werden sollen, sollten an der Backplate-Komponente angebracht werden.
Struktur
Die verschiedenen Teile eines ActionButtons können aktiviert/deaktiviert werden, um das Aussehen und Verhalten der Schaltfläche anzupassen. Wir haben zwei verschiedene mögliche Konfigurationen unterteilt, um die verschiedenen Teile des Schaltflächen-Prefabs anzuzeigen. Der "Backglow" ist in diesen Screenshots nicht sichtbar, da die Schaltfläche nicht aktiv gedrückt wird.
Zunächst eine größere Konfiguration, bei der das Standard Text-Objekts aktiv ist und Inlineformatvorlagen verwendet, um sowohl eine Kopfzeile als auch einen Untertext anzuzeigen. Zweitens, eine kleinere Konfiguration, bei der aktiv ist, um eine Beschreibung der Aktion unterhalb des Symbols anzuzeigen. Das Standard Text-Objekt ist deaktiviert.
PressableButton
-Klasse
Die PressableButton
-Klasse wird mit StatefulInteractable
neuen und überschriebenen Funktionen speziell für Schaltflächen abgeleitet. Im Inspektor können Sie neben allen anderen konfigurierbaren Einstellungen von StatefulInteractable
einstellungen im Zusammenhang mit der volumetrischen Presse konfigurieren.
Erstellen der Benutzeroberfläche mit Schaltflächen
Beim Erstellen von Menü- oder Ui-Bereichen mit mehreren Schaltflächen wird empfohlen, eine freigegebene Backplategeometrie zu verwenden. Durch die Verwendung einer freigegebenen Backplate können wir das visuelle Rauschen reduzieren und die Benutzerfreundlichkeit verbessern. Im Folgenden finden Sie einige Beispiele für das Anordnen von Schaltflächen auf der gemeinsam genutzten Backplate.
Weitere Komponenten
Zur Referenz finden Sie hier einige zusätzliche Komponenten, die für die Behandlung von Aspekten von Schaltflächenvisuals und -funktionen verantwortlich sind:
- Der visuelle Frontplattenimpuls, der beim Auswählen der Taste beobachtet wird, wird von einer
InteractablePulse
Komponente behandelt. - Das Schaltflächensymbol kann mithilfe
FontIconSelector
von auf ein MRTK-Symbol festgelegt werden. - Ein
RectTransformColliderFitter
kann optional auf Canvas-Schaltflächen verwendet werden, um seineBoxCollider
an seineRectTransform
anzupassen. Dies ist die Komponente, die für die Leistung standardmäßig deaktiviert ist.