我正在使用KeyboardRealityToolkit中的KeyboardInputField UI元素的键盘预制件,当我在构建中选择一个KeyboardInputFields时,我会同时弹出键盘预制件和系统键盘。我使用这两个版本制作的早期版本没有显示系统虚拟键盘,但我不知道我可以改变什么来导致这个。我在Unity 2017.2.1f1上使用了unity 2017.2.0p2-MRTP5和MixedRealityToolkit。 (这是我与之交谈过的微软代表所建议的) 我正在创建一种身临其境的体验,并将Unity构建类型设置为D3D而不是XMAL。
答案 0 :(得分:0)
您的输入组件实际上继承了window
InputField
当您激活输入操作时,Windows将自动调用系统内置键盘。
除非您避免使用namespace: UnityEngine.UI.
组件,否则可以撤消禁用键盘。
您可以做的就是自己编辑脚本。
答案 1 :(得分:0)
我在MixedRealityToolkit的错误报告中找到了一个解决方案
ivan2007:
“我的应用程序遇到了同样的问题。 Unity文档说:Windows应用商店应用:在通用Windows 10应用中,只有支持触摸输入的基于XAML的应用才支持触摸屏键盘。
我的应用程序是使用Build Type D3D而不是xaml,所以这是第一个奇怪的事情。
但是,由于显示了键盘,我们可以尝试禁用触摸输入支持。
为此,我们可以定义BaseInputModule使用的新BaseInput,其中touchSupported被覆盖并设置为false。
BaseInputModule有一个受保护的属性m_InputOverride,我们可以用它来告诉Unity使用新的BaseInput。
也就是说,作为临时解决方法,我制作了附加脚本,可以添加到场景的EventSystem游戏对象或另一个游戏对象(在后一种情况下,您必须使用当前输入模块设置字段BaseInputModule)
在我的情况下它似乎工作(原生键盘没有显示) 拥有HMD的Unity 2017.3.0f3 有人可以尝试这种解决方法,以便我们可以更自信地使用它吗? 谢谢你“