UMG и клавиатура в Unreal
Unreal Motion Graphics (UMG) — это встроенная система пользовательского интерфейса Unreal Engine, используемая для создания интерфейсов, таких как меню и текстовые поля. Пользовательские интерфейсы, созданные с помощью UMG, состоят из мини-приложений. Мы поможем вам создать новое мини-приложение, добавить его в мировое пространство и включить взаимодействие с помощью системной клавиатуры в качестве примера. Дополнительные сведения об UMG см. в официальной документации по Unreal Engine.
Создание мини-приложения
- Создайте схему мини-приложения для размещения пользовательского интерфейса игры:
- Откройте новую схему и добавьте компоненты из палитры на холст. В этом случае мы добавили два компонента текстового поля из раздела "Входные данные":
- Выберите мини-приложение в окне Иерархия или Designer и измените параметры на панели сведений. В этом случае мы добавили текст подсказки по умолчанию и цвет оттенка, который отображается при наведении указателя мыши на текстовое поле. Текстовое поле будет отображать виртуальную клавиатуру на HoloLens при взаимодействии с:
- На события также можно подписаться на панели сведений:
Добавление мини-приложения в World Space
- Создайте новый субъект, добавьте компонент мини-приложения и добавьте его в сцену:
- На панели сведений для мини-приложения задайте для класса Мини-приложения значение Схема мини-приложения, созданная ранее:
- Для текстового мини-приложения убедитесь, что флажок Получать аппаратные входные данные снят, поэтому мы обновляем его текст только с виртуальной клавиатуры:
Взаимодействие с мини-приложением
Мини-приложения UMG обычно получают входные данные от мыши. В HoloLens или ВИРТУАЛЬНОй реальности необходимо имитировать мышь с помощью компонента взаимодействия с мини-приложениями, чтобы получить те же события.
- Создайте новый субъект, добавьте компонент взаимодействия с мини-приложением и добавьте его в сцену:
- На панели сведений для компонента "Взаимодействие с мини-приложением":
- Задайте для расстояния взаимодействия нужное расстояние.
- Установка настраиваемогоисточника взаимодействия
- Для разработки задайте для параметра Показать отладкузначение true:
Источник взаимодействия по умолчанию — "World", который должен отправлять лучи на основе положения в мире компонента "Взаимодействие с мини-приложением". В AR и VR это не так. Включение функции "Показать отладку" и добавление оттенка наведения на мини-приложения важно, чтобы проверка компонент взаимодействия с мини-приложениями выполняет ожидаемые действия. Обходной путь — использовать пользовательский источник и задать луч в графе событий из луча руки.
Здесь мы вызываем это из такта событий:
Затем добавьте события виртуального указателя мыши в компонент взаимодействия мини-приложения, реагирующий на входные данные HoloLens. В этом случае отправьте событие нажатия левой мыши, когда рука схвачена, и событие отпускания левой мыши, если оно не схватывается:
Теперь при развертывании приложения в HoloLens 2 вы увидите луч руки, простирающийся от правой руки. Если вы направите его в одно из редактируемых текстовых полей и коснуться воздуха, системная клавиатура появится перед вами и позволит вам ввести текст.
Примечание
Для системной клавиатуры HoloLens требуется Unreal Engine 4.26 или более поздней версии. Кроме того, клавиатура не будет отображаться при потоковой передаче приложения из редактора Unreal на гарнитуру, только если приложение запущено на устройстве.