Ввод с клавиатуры в Unity
Пространство имен:UnityEngine
Тип: таучскринкэйбоард
хотя HoloLens поддерживает множество форм ввода, включая Bluetooth клавиатуры, большинство приложений не могут предположить, что у всех пользователей есть физическая клавиатура. Если приложению требуются текстовые входные данные, необходимо предоставить некоторую форму экранной клавиатуры.
Unity предоставляет класс таучскринкэйбоард для приема ввода с клавиатуры при отсутствии доступной физической клавиатуры.
HoloLens поведения системной клавиатуры в Unity
на HoloLens таучскринкэйбоард использует экранную клавиатуру системы и прямо накладывается поверх объемные представления приложения MR. Взаимодействие аналогично использованию клавиатуры во встроенных приложениях HoloLens. обратите внимание, что системная клавиатура работает в соответствии с возможностями целевой платформы, например, клавиатура на HoloLens 2 будет поддерживать прямое взаимодействие, а клавиатура на HoloLens (1-й) будет поддерживать ггв (взгляд, жест и речь). Кроме того, системная клавиатура не будет отображаться при выполнении удаленного взаимодействия Unity из редактора с HoloLens.
Использование системной клавиатуры в приложении Unity
Объявление клавиатуры
В классе объявите переменную для хранения таучскринкэйбоард и переменную для хранения строки, возвращаемой клавиатурой.
UnityEngine.TouchScreenKeyboard keyboard;
public static string keyboardText = "";
Вызов клавиатуры
Когда событие возникает при запросе ввода с клавиатуры, используйте следующую для отображения клавиатуры.
keyboard = TouchScreenKeyboard.Open("text to edit");
Можно использовать дополнительные параметры, передаваемые в TouchScreenKeyboard.Open
функцию, чтобы управлять поведением клавиатуры (например, задавать текст заполнителя или поддерживать автозамену). Полный список параметров см. в документации Unity.
Получение типизированного содержимого
Содержимое можно просто извлечь путем вызова метода keyboard.text
. Может потребоваться получить содержимое для каждого кадра или только после закрытия клавиатуры.
keyboardText = keyboard.text;
Альтернативные параметры клавиатуры
Кроме непосредственного использования класса таучскринкэйбоард , можно получить ввод пользователя, используя поле ввода пользовательского интерфейса Unity или поле ввода текстмешпро. Кроме того, существует реализация, основанная на таучскринкэйбоард в хандинтерактионексамплес сценемртк (в левой части есть пример взаимодействия с клавиатурой).
Следующий этап разработки
если вы уже знакомы с разработкой Unity, то можете ознакомиться с возможностями Смешанная реальность платформы и интерфейсами api. Здесь можно перейти к любому разделу или перейти непосредственно к развертыванию приложения на устройстве или в эмуляторе.