Ближайшее меню — MRTK3
Near Menu — это распространенный шаблон для группы элементов пользовательского интерфейса, которыми можно управлять и перемещать, а также следовать за пользователем. Так как он слабо связан с пользователем, он не нарушает взаимодействие пользователя с целевым содержимым. Пользователь может использовать кнопку закрепления для блокировки и разблокировки меню. Меню можно схватить и разместить в определенной позиции в мире.
Поведение взаимодействия
- Добавление тегов: меню следует за вами и остается в пределах 30-60 см от пользователя для ближнего взаимодействия.
- Закрепление — с помощью кнопки "Закрепить" меню можно зафиксировать или отсоединить в мировой системе координат.
- Захват и перемещение — меню всегда можно захватить и переместить. Меню будет закреплено (заблокировано) при захвате и освобождении независимо от предыдущего состояния.
Пример сцены и заготовок
Сцена NearMenuExamples.unity демонстрирует различные размеры примеров конфигурации ближнего меню. Примеры меню можно найти в виде заготовок.
Структура
Заготовки near Menu создаются со следующими компонентами MRTK.
- PressableButton_32x32mm заготовка
- Панель объектов: макет нескольких кнопок в сетке
- Манипулятор объектов: захват и перемещение меню
- Решатель радиальных представлений: поведение Follow Me (tag-along)
Скрипты
Поведение наряду с тегами достигается с помощью скрипта решателя RadialView.
- Время перемещения и поворота Лерпа установлено в 0,5 для отложенного плавного перемещения, что создает удобный опыт привязи.
- При использовании фиксированного вертикального положения меню располагается на 35 см ниже гарнитуры пользователя, что позволяет пользователю сосредоточиться на целевом содержимом.
- Минимальное и максимальное расстояние размещает меню между 30-60 см от пользователя для удобного взаимодействия ближнего расстояния.
Когда пользователь захватывает панель манипуляции, он активирует ForceSetToggled кнопки pin Button, который переключает RadialView. Это приводит к запуску и остановке следующего поведения меню.