Unity 中的键盘输入

命名空间*:UnityEngine*
类型*:TouchScreenKeyboard*

尽管HoloLens支持包括键盘蓝牙形式的输入,但大多数应用程序无法假定所有用户都有可用的物理键盘。 如果应用程序需要文本输入,应提供某种形式的屏幕键盘。

Unity 提供 TouchScreenKeyboard 类,用于当没有可用的物理键盘时接受键盘输入。

HoloLens Unity 中的系统键盘行为

HoloLens,TouchScreenKeyboard 利用系统的屏幕键盘,直接覆盖 MR 应用程序的音量视图。 此体验类似于在 HoloLens 的内置应用中使用键盘。 请注意,系统键盘的行为取决于目标平台的功能,例如 HoloLens 2 上的键盘支持直接手部交互,而 HoloLens (第一代) 上的键盘支持 GGV (凝视、手势和语音) 。 此外,执行从编辑器到编辑器的 Unity 远程处理时,系统键盘HoloLens。

在 Unity 应用中使用系统键盘

声明键盘

在 类中,声明用于存储 TouchScreenKeyboard 的变量和用于保存键盘返回的字符串的变量。

UnityEngine.TouchScreenKeyboard keyboard;
public static string keyboardText = "";

调用键盘

当发生请求键盘输入的事件时,使用以下命令显示键盘。

keyboard = TouchScreenKeyboard.Open("text to edit");

可以使用传递给 函数的其他参数来控制键盘 (例如设置占位符文本或支持自动 TouchScreenKeyboard.Open 更正) 。 有关参数的完整列表,请参阅 Unity 的文档

检索类型内容

只需调用 来检索内容 keyboard.text 。 你可能希望检索每帧的内容,或仅在键盘关闭时检索内容。

keyboardText = keyboard.text;

备用键盘选项

除了直接使用 TouchScreenKeyboard 类外,还可使用 Unity 的 UI 输入字段或 TextMeshPro 输入字段 获取用户输入。 此外 ,MRTKHandInteractionExamples场景中有一个基于 TouchScreenKeyboard 的实现 (左侧左侧有一个键盘交互) 。

下一个开发检查点

如果你遵循我们布局的 Unity 开发旅程,则你正在探索混合现实平台功能和 API。 在这里,可以继续学习任何 主题 ,也可以直接跳转到在设备或仿真器上部署应用。