Schieberegler

Beispiel für Schieberegler

Schieberegler sind Benutzeroberflächenkomponenten, mit denen Sie einen Wert kontinuierlich ändern können, indem Sie einen Schieberegler auf eine Spur verschieben. Derzeit kann der Schieberegler zum Anheften bewegt werden, indem der Schieberegler direkt oder in einer Entfernung gepackt wird. Schieberegler arbeiten mit AR und VR mit Motion-Controllern, Händen oder Geste + Stimme.

Beispielszene

Beispiele finden Sie in der SliderExample-Szene unter MRTK/Examples/Demos/UX/Slider/Scenes/ .

Verwenden von Schiebereglern

Drag and drop the PinchSlider prefab into the scene hierarchy. Wenn Sie einen eigenen Schieberegler ändern oder erstellen möchten, denken Sie daran, Folgendes zu tun:

  • Stellen Sie sicher, dass ihr Thumb-Objekt über einen Collider verfügt. Im PinchSlider-Prefab ist der Collider eingeschaltet. SliderThumb/Button_AnimationContainer/Slider_Button
  • Stellen Sie sicher, dass das Objekt, das den Collider enthält, auch über eine Near Interaction Grabbable-Komponente verfügt, wenn Sie den Schieberegler in der Nähe greifen möchten.

Es wird auch empfohlen, die folgende Hierarchie zu verwenden.

  • PinchSlider : Enthält den SliderComponent
    • TouchCollider: Collider, der den gesamten auswählbaren Bereich des Schiebereglers enthält. Aktiviert das Verhalten "An Position ausrichten".
    • SliderThumb: Enthält den verschiebbaren Daumen
    • TrackVisuals: Enthält die Spur und alle anderen Visuals
    • OtherVisuals: Enthält alle anderen Visuals

Schiebereglerereignisse

Schieberegler machen die folgenden Ereignisse verfügbar:

  • OnValueUpdated: Wird immer dann aufgerufen, wenn sich der Schiebereglerwert ändert.
  • OnInteractionStarted: Wird aufgerufen, wenn der Benutzer den Schieberegler greift
  • OnInteractionEnded: Wird aufgerufen, wenn der Benutzer den Schieberegler freigibt.
  • OnHoverEntered: Wird aufgerufen, wenn die Hand/der Controller des Benutzers mithilfe einer Nah- oder Ferninteraktion auf den Schieberegler zusteuert.
  • OnHoverExited: Wird aufgerufen, wenn sich die Hand/der Controller des Benutzers nicht mehr in der Nähe des Schiebereglers befindet.

Konfigurieren der Begrenzung und Achse des Schiebereglers

Sie können die Start- und Endpunkte des Schiebereglers direkt verschieben, indem Sie die Ziehpunkte in der Szene verschieben:

Schiebereglerkonfiguration

Sie können auch die Achse (im lokalen Raum) des Schiebereglers über das Feld Schiebereglerachse angeben.

Wenn Sie die Handles nicht verwenden können, können Sie stattdessen die Start- und Endpunkte des Schiebereglers über die Felder Startabstand des Schiebereglers und Schieberegler-Endentfernung angeben. Diese geben die Start-/Endposition des Schiebereglers als Abstand vom Mittelpunkt des Schiebereglers in lokalen Koordinaten an. Das bedeutet, dass Sie nach dem Festlegen der Start- und Endentfernungen des Schiebereglers den Schieberegler so skalieren können, dass er kleiner oder größer ist, ohne die Start- und Endentfernungen aktualisieren zu müssen.

Inspektoreigenschaften

Thumb Root Das Gameobject, das den Schieberegler enthält.

An Position ausrichten Gibt an, ob dieser Schieberegler an der angegebenen Position auf dem Schieberegler ausgerichtet wird oder nicht.

Ist touchierbar Gibt an, ob dieser Schieberegler über Touchereignisse steuerbar ist.

Thumb Collider Der Collider, der den Schieberegler steuert

Touchierbarer Collider Der Bereich des Schiebereglers, der berührt oder ausgewählt werden kann, wenn An Position ausrichten true ist.

Schiebereglerwert Der Wert des Schiebereglers.

Verwenden von Schieberegler-Schrittbereichen Steuert, ob dieser Schieberegler schrittweise oder kontinuierlich erhöht wird.

Schiebereglerschritte Anzahl der Unterbereiche, in die der Schieberegler aufgeteilt wird, wenn Schiebereglerschrittbereiche verwenden aktiviert ist.

Nachverfolgen von Visuals Das Gameobject, das die gewünschten Trackvisuals enthält, die entlang des Schiebereglers verläuft.

Teilstriche Das Gameobject, das die gewünschten Teilstriche enthält, die entlang des Schiebereglers verläuft.

Daumenvisuals Das Gameobject, das das gewünschte Daumenvisual enthält, das entlang des Schiebereglers verläuft.

Schiebereglerachse Die Achse, auf der sich der Schieberegler bewegt.

Startabstand des Schiebereglers An der Stelle, an der die Schiebereglerspur beginnt, als Abstand vom Mittelpunkt entlang der Schiebereglerachse in lokalen Raumeinheiten.

Endabstand des Schiebereglers An der Stelle, an der die Schiebereglerspur endet, als Abstand von der Mitte entlang der Schiebereglerachse in lokalen Raumeinheiten.

Wenn der Benutzer den Wert der Schiebereglerachse im Editor aktualisiert, wird die Transformation aktualisiert, wenn Visuals nachverfolgen oder Visuelle Teilstriche angegeben sind. Insbesondere wird die lokale Position zurückgesetzt, und die lokale Drehung wird so festgelegt, dass sie der Ausrichtung der Schiebereglerachse entspricht. Ihre Skalierung wird nicht geändert. Wenn Teilstriche über eine Grid Object Collection-Komponente verfügen, werden Layout und CellWidth oder CellHeight entsprechend der Schiebereglerachse aktualisiert.

Beispielkonfigurationen für Schieberegler

Kontinuierliche Schieberegler mit Andocken zum Positionieren  von fortlaufenden Schiebereglern

Schrittschieberegler mit Ausrichtung an Position

Schrittschieberegler

Touchschieberegler

Touchschieberegler