命名空间: UnityEngine 虽然HoloLens支持包括蓝牙键盘在内多种输入方式。但是大部分应用还是不能断定用户有实体键盘可以输入,所以应用程序需要文本输入,还是必须要提供虚拟键盘输入的。 Unity提供了一个TouchScreenKeyboard,用于在没有实体键盘时接受虚拟键盘的输入。 在Unity中HoloLens系统键盘操作 在HoloLens上, TouchScreenKeyboard 使用的就是系统虚拟键盘。系统键盘不能出现在立体视图的顶部,所以只能创建一个2D XAML视图来调用系统键盘。输入完成返回到全息视图后,输入结果会立即被提交过来。操作流程如下: 1.用户执行应用程序代码调用方法来使应用启用TouchScreenKeyboard 在启用TouchScreenKeyboard 之前,应用要响应处理应用暂停事件 在不断切换回全息视图前,应用可能会被中断 2.Unity将视图切换到一个自动放置在世界中的2D XAML视图上 3.用户使用系统键盘输入文本,并选择提交或者取消 4.Unity将视图切换回全息视图 在TouchScreenKeyboard 操作完成后,应用需要相应处理恢复应用状态 5.通过 TouchScreenKeyboard 获取提交的文本内容 可使用的键盘视图 有六种不同的键盘视图可以直接使用: · Single-line textbox 单行文本框 · Single-line textbox with title 带标题的单行文本框 · Multi-line textbox 多行文本框 · Multi-line textbox with title 带标题的多行文本框 · Single-line password box 单行密码框 · Single-line password box with title 带标题的单行密码框 如何在Unity中启用系统键盘 HoloLens系统键盘只能在UWP项目导出类型为XAML app的应用中使用。对于导出类型D3D和XAML之间你需要做些权衡,如果你不能做出取舍的话,你可能会希望有个键盘输入的其他替代方案。 1. 打开File,选择Build Settings菜单 2. 确保Platform是Windows Store, SDK选项设为 Universal 10,并将UWP Build Type 设为 XAML。 3. 打开Player Settings菜单 4. 展开Settings for Windows Store 5. 选择扩大Other Settings菜单组 6. 勾选Rendering目录下的Virtual Reality Supported选项 7. 确保Windows Holographic出现在Virtual Reality Devices列表中 · 如果不勾选这个选项,项目会被导出为2D XAML应用 在Unity应用中使用系统键盘
声明键盘Declare the keyboard首先要声明一个键盘对象和一个用来保存返回结果的字符串
调用键盘Invoke the keyboard当请求键盘输入的事件发生后,调用任意一个你所需的键盘类型来响应用户输入。 注意:textPlaceHolder参数的标题是特定的
单行文本框 Single-line textbox
带标题的单行文本框Single-line textbox with title
多行文本框Multi-line textbox
带标题的多行文本框Multi-line textbox with title
单行密码框Single-line password box
带标题的单行密码框Single-line password box with title
取回输入内容在更新循环中,检查键盘是否有新的输入并存储其内容 其他的键盘选项我们知道从全息视图切换回2D视图进行键盘输入不是理想的方案。 目前其他的解决方案包括: · 使用听写识别来输入内容 · 这个一般容易出错,并且不适用于输入密码 · 自定义创建一个键盘在应用程序中使用
|