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


Ближайшее меню — MRTK3

Ближайшее меню

Near Menu — это распространенный шаблон для группы элементов пользовательского интерфейса, которыми можно управлять и перемещать, а также следовать за пользователем. Так как он слабо связан с пользователем, он не нарушает взаимодействие пользователя с целевым содержимым. Пользователь может использовать кнопку закрепления для блокировки и разблокировки меню. Меню можно схватить и разместить в определенной позиции в мире.

Поведение взаимодействия

  • Добавление тегов: меню следует за вами и остается в пределах 30-60 см от пользователя для ближнего взаимодействия.
  • Закрепление — с помощью кнопки "Закрепить" меню можно зафиксировать или отсоединить в мировой системе координат.
  • Захват и перемещение — меню всегда можно захватить и переместить. Меню будет закреплено (заблокировано) при захвате и освобождении независимо от предыдущего состояния.

Пример сцены и заготовок

Сцена NearMenuExamples.unity демонстрирует различные размеры примеров конфигурации ближнего меню. Примеры меню можно найти в виде заготовок.

Пример сцены near menu

Структура

Заготовки near Menu создаются со следующими компонентами MRTK.

Near Menu Prefab

Скрипты

Поведение наряду с тегами достигается с помощью скрипта решателя RadialView.

  • Время перемещения и поворота Лерпа установлено в 0,5 для отложенного плавного перемещения, что создает удобный опыт привязи.
  • При использовании фиксированного вертикального положения меню располагается на 35 см ниже гарнитуры пользователя, что позволяет пользователю сосредоточиться на целевом содержимом.
  • Минимальное и максимальное расстояние размещает меню между 30-60 см от пользователя для удобного взаимодействия ближнего расстояния.

RadialView

Когда пользователь захватывает панель манипуляции, он активирует ForceSetToggled кнопки pin Button, который переключает RadialView. Это приводит к запуску и остановке следующего поведения меню.

Панель манипуляции 1

Панель манипуляций 2