Поделиться через


Ползунки — MRTK2

Пример ползунка

Ползунки — это компоненты пользовательского интерфейса, которые позволяют постоянно изменять значение путем перемещения ползунка по дорожке. В настоящее время ползунок сжатия можно переместить напрямую, захватив ползунок напрямую или на расстоянии. Ползунки работают в AR и ВИРТУАЛЬНОй реальности с помощью контроллеров движения, рук или жестов и голосовых вызовов.

Пример сцены

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

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

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

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

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

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

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

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

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

Настройка привязки ползунка и оси

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

Конфигурация ползунков

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

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

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

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

Привязка к позиции Указывает, привязывается ли этот ползунок к назначенному положению на ползунке

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

Коллайдер большого пальца Коллайдер, который управляет большим пальцем ползунка

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

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

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

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

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

Деления Gameobject, содержащий нужные отметки, которые идут вдоль ползунка.

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

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

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

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

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

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

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

Пошаговые ползунки с привязкой к позиции

Ползунки по шагам

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

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