Ползунки — MRTK2

Slider example

Ползунки — это компоненты пользовательского интерфейса, позволяющие постоянно изменять значение путем перемещения ползунка на дорожку. В настоящее время ползунок сжатия можно переместить, напрямую захватив ползунок либо непосредственно, либо на расстоянии. Ползунки работают на AR и VR, используя контроллеры движения, руки или жест + голос.

Пример сцены

Примеры можно найти в сцене SliderExample в разделе MRTK/Examples/Demos/UX/Slider/Scenes/.

Использование ползунков

Перетащите префаб PinchSlider в иерархию сцены. Если вы хотите изменить или создать собственный ползунок, не забудьте сделать следующее:

  • Убедитесь, что на объекте большого пальца есть коллайдер. В prefab PinchSlider коллайдер включен SliderThumb/Button_AnimationContainer/Slider_Button
  • Убедитесь, что объект, содержащий коллайдер, также имеет на нем компонент near Interaction Grabbable, если вы хотите иметь возможность схватить ползунок рядом.

Мы также рекомендуем использовать следующую иерархию:

  • PinchSlider — содержит ползунокComponent
    • TouchCollider — Collider, содержащий всю область ползунка. Включает поведение прикрепление To Position.
    • SliderThumb — содержит перемещаемый большой палец
    • TrackVisuals — содержит дорожку и другие визуальные элементы
    • OtherVisuals — содержит любые другие визуальные элементы

События ползунка

Ползунки предоставляют следующие события:

  • OnValueUpdated — вызывается при каждом изменении значения ползунка
  • OnInteractionStarted — вызывается, когда пользователь захватывает ползунок
  • OnInteractionEnded — вызывается, когда пользователь отпускает ползунок
  • OnHoverEntered — вызывается, когда рука или контроллер пользователя наведите указатель мыши на ползунок, используя либо близкое или далекое взаимодействие.
  • OnHoverExited — вызывается, когда рука или контроллер пользователя больше не находится рядом с ползунком.

Настройка границы ползунка и оси

Вы можете напрямую перемещать начальные и конечные точки ползунка, перемещая маркеры в сцене:

Sliders Config

Можно также указать ось (в локальном пространстве) ползунка с помощью поля оси ползунка .

Если вы не можете использовать маркеры, вместо этого можно указать начальную и конечную точки ползунка с помощью полей "Расстояние начала ползунка " и " Расстояние конца ползунка ". Они указывают начальную и конечную позицию ползунка в качестве расстояния от центра ползунка в локальных координатах. Это означает, что после установки расстояний начала и конца ползунка по мере необходимости можно масштабировать ползунок, чтобы он был меньше или больше, не обновляя расстояния начала и окончания.

Свойства инспектора

Корень большого пальца Игровой объект, содержащий ползунок.

прикрепление Положение, если этот ползунок прикрепит к назначенной позиции на ползунке

Доступно для сенсорного ввода Управляется ли этот ползунок с помощью событий сенсорного ввода

Collider thumb Коллайдер, который управляет ползунком

Сенсорный коллайдер Область ползунка, которую можно коснуться или выбрать, если прикрепление Положение имеет значение true.

Значение ползунка Значение ползунка.

Использование деления шагов ползунка Определяет, увеличивается ли этот ползунок в шагах или непрерывно.

Деления шагов ползунка Количество подразделений ползунка разбивается на при включении деления шага ползунка.

Отслеживание визуальных элементов Игровой объект, содержащий нужные визуальные элементы дорожки, которые идут по ползунку.

Деления Игровой объект, содержащий нужные деления, которые идут по ползунку.

Визуальные элементы с большими пальцами Игровой объект, содержащий нужный визуальный элемент большого пальца, который идет по ползунку.

Ось ползунка Ось ползунка перемещается вдоль.

Расстояние начала ползунка Где начинается дорожка ползунка( расстояние от центра вдоль оси ползунка) в локальных единицах пространства.

Расстояние конца ползунка Место окончания дорожки ползунка в виде расстояния от центра вдоль оси ползунка в локальных единицах пространства.

Когда пользователь обновляет значение оси ползунка в редакторе, то если указаны визуальные элементы отслеживания или визуальные элементы tick, то их преобразование обновляется. В частности, их локальная позиция сбрасывается, а их локальная смена устанавливается в соответствии с ориентацией оси ползунка. Их масштаб не изменяется. Если в делениях есть компонент коллекции объектов сетки, макет и CellWidth или CellHeight обновляются соответствующим образом в соответствии с осью ползунка.

Примеры конфигураций ползунка

Непрерывные ползунки с прикрепление для размещенияContinuous Sliders

Ползунки шагов с прикрепление положение

Step Sliders

Сенсорные ползунки

Touch Sliders