Controles deslizantesSliders

Ejemplo de control deslizante

Los controles deslizantes son componentes de la interfaz de usuario que permiten cambiar continuamente un valor moviendo un control deslizante en una pista. Actualmente, el control deslizante Desenlazador se puede mover agarrándose directamente al control deslizante, ya sea directamente o a una distancia.Sliders are UI components that allow you to continuously change a value by moving a slider on a track. Currently the Pinch Slider can be moved by directly grabbing the slider, either directly or at a distance. Los controles deslizantes funcionan en AR y VR, mediante controladores de movimiento, manos o Gesto + voz.Sliders work on AR and VR, using motion controllers, hands, or Gesture + Voice.

Escena de ejemploExample scene

Puede encontrar ejemplos en la escena SliderExample en MRTK/Examples/Demos/UX/Slider/Scenes/ .You can find examples in the SliderExample scene under MRTK/Examples/Demos/UX/Slider/Scenes/.

Uso de controles deslizantesHow to use sliders

Arrastre y coloque el prefab PinchSlider en la jerarquía de escena.Drag and drop the PinchSlider prefab into the scene hierarchy. Si desea modificar o crear su propio control deslizante, recuerde hacer lo siguiente:If you want to modify or create your own slider, remember to do the following:

  • Asegúrese de que el objeto de control tiene un colisionador.Make sure your that your thumb object has a collider on it. En el prefab de PinchSlider, el colisionador está en SliderThumb/Button_AnimationContainer/Slider_ButtonIn the PinchSlider prefab, the collider is on SliderThumb/Button_AnimationContainer/Slider_Button
  • Asegúrese de que el objeto que contiene el colisionador también tiene un componente Near Interaction Grabbable (Interacción cercana que se puede capturar) si desea poder acercar el control deslizante.Make sure that the object containing the collider also has a Near Interaction Grabbable component on it, if you want to be able to grab the slider near.

También se recomienda usar la siguiente jerarquíaWe also recommend using the following hierarchy

  • PinchSlider: contiene el control deslizanteComponent.PinchSlider - Contains the sliderComponent
    • TouchCollider: colisionador que contiene todo el área seleccionable del control deslizante.TouchCollider - Collider containing the entire selectable area of the slider. Habilita el comportamiento Ajustar a posición.Enables the Snap To Position behavior.
    • SliderThumb: contiene el control de posición móvilSliderThumb - Contains the movable thumb
    • TrackVisuals: contiene la pista y cualquier otro objeto visual.TrackVisuals - Containing the track and any other visuals
    • OtherVisuals: que contiene cualquier otro objeto visualOtherVisuals - Containing any other visuals

Eventos de control deslizanteSlider events

Los controles deslizantes exponen los siguientes eventos:Sliders expose the following events:

  • OnValueUpdated: se llama cada vez que cambia el valor del control deslizante.OnValueUpdated - Called whenever the slider value changes
  • OnInteractionStarted: se llama cuando el usuario toma el control deslizante.OnInteractionStarted - Called when the user grabs the slider
  • OnInteractionEnded: se llama cuando el usuario suelta el control deslizante.OnInteractionEnded - Called when the user releases the slider
  • OnHoverEntered: se llama cuando la mano o el controlador del usuario mantiene el puntero sobre el control deslizante, mediante una interacción cercana o lejana.OnHoverEntered - Called when the user's hand / controller hovers over the slider, using either near or far interaction.
  • OnHoverExited: se llama cuando la mano o el controlador del usuario ya no está cerca del control deslizante.OnHoverExited - Called when the user's hand / controller is no longer near the slider.

Configuración del límite del control deslizante y el ejeConfiguring slider bound and axis

Puede mover directamente los puntos inicial y final del control deslizante moviendo los identificadores de la escena:You can directly move the starting and end points of the slider by moving the handles in the Scene:

Configuración de controles deslizantes

También puede especificar el eje (en el espacio local) del control deslizante a través del campo Eje deslizante.You can also specify the axis (in local space) of the slider via the Slider Axis field

Si no puede usar los identificadores, en su lugar puede especificar los puntos inicial y final del control deslizante a través de los campos Slider Start Distance (Distancia de inicio del control deslizante) y Slider End Distance (Distancia final del control deslizante).If you cannot use the handles, you can instead specify the start and end points of the slider via the Slider Start Distance and Slider End Distance fields. Estos especifican la posición inicial y final del control deslizante como una distancia desde el centro del control deslizante, en coordenadas locales.These specify start / end position of slider as a distance from the slider's center, in local coordinates. Esto significa que, una vez establecidas las distancias de inicio y finalización del control deslizante como quiera, puede escalar el control deslizante para que sea menor o mayor sin necesidad de actualizar las distancias inicial y final.This means that once you set the slider start and end distances as you want them, you can scale the slider to be smaller or larger without needing to update the start and end distances.

Propiedades del inspectorInspector properties

Raíz de thumb Objeto gameobject que contiene el control deslizante.Thumb Root The gameobject that contains the slider thumb.

Ajustar a la posición Si este control deslizante se ajusta o no a la posición designada en el control deslizanteSnap To Position Whether or not this slider snaps to the designated position on the slider

Es táctil Si este control deslizante se puede controlar o no a través de eventos táctilesIs Touchable Whether or not this slider is controllable via touch events

Colisionador de thumb Colisionador que controla el control deslizanteThumb Collider The collider that controls the slider thumb

Colisionador táctil Área del control deslizante que se puede tocar o seleccionar cuando Ajustar a la posición es true.Touchable Collider The area of the slider that can be touched or selected when Snap To Position is true.

Valor del control deslizante Valor del control deslizante.Slider Value The value of the slider.

Usar divisiones de pasos de control deslizante Controla si este control deslizante se incrementa en pasos o continuamente.Use Slider Step Divisions Controls whether this slider is increments in steps or continuously.

Divisiones de pasos de control deslizante Número de subdivisiones en las que se divide el control deslizante cuando se habilita Usar divisiones de pasos deslizantes.Slider Step Divisions Number of subdivisions the slider is split into when Use Slider Step Divisions is enabled.

Seguimiento de objetos visuales Objeto gameobject que contiene los objetos visuales de seguimiento deseados que van a lo largo del control deslizante.Track Visuals The gameobject that contains the desired track visuals that goes along the slider.

Marcas de graduación Objeto gameobject que contiene las marcas de graduación deseadas que van a lo largo del control deslizante.Tick Marks The gameobject that contains the desired tick marks that goes along the slider.

Objetos visuales thumb El objeto gameobject que contiene el objeto visual de posición deseado que va a lo largo del control deslizante.Thumb Visuals The gameobject that contains the desired thumb visual that goes along the slider.

Eje deslizante Eje a lo largo del que se mueve el control deslizante.Slider Axis The axis the slider moves along.

Distancia de inicio del control deslizante Donde se inicia la pista del control deslizante, como distancia desde el centro a lo largo del eje deslizante, en unidades de espacio local.Slider Start Distance Where the slider track starts, as distance from center along slider axis, in local space units.

Distancia final del control deslizante Donde finaliza la pista del control deslizante, como distancia desde el centro a lo largo del eje deslizante, en unidades de espacio local.Slider End Distance Where the slider track ends, as distance from center along slider axis, in local space units.

Cuando el usuario actualiza el valor del eje deslizante en el editor, si se especifica Track Visuals o Tick Visuals, se actualiza su transformación.When user updates the slider axis value in editor then if Track Visuals or Tick Visuals are specified then their transform is updated. En concreto, se restablece su posición local y su rotación local se establece para que coincida con la orientación del eje deslizante.Specifically, their local position is reset and their local rotation is set to match the Slider Axis orientation. Su escala no se modifica.Their scale isn't modified. Si las marcas de graduación tienen un componente Colección de objetos de cuadrícula, layout y CellWidth o CellHeight se actualizan en consecuencia para que coincidan con el eje deslizante.If Tick Marks have a Grid Object Collection component then the Layout and CellWidth or CellHeight is updated accordingly to match the Slider Axis.

Configuraciones de control deslizante de ejemploExample Slider Configurations

Controles deslizantes continuos con controles deslizantes continuos ajustar  a la posiciónContinuous Sliders with Snap To Position Continuous Sliders

Controles deslizantes de paso con ajustar a la posiciónStep Sliders with Snap To Position

Controles deslizantes de pasos

Controles deslizantes táctilesTouch Sliders

Controles deslizantes táctiles