最近在做一个VR虚拟会议,用到输入框,点击输入框的时候,需要开启虚拟键盘。我们主要使用了Oculus,集成了Oculus的SDK,也使用了MRTK作为我们开发3D界面的组件。
我是使用的Unity2020.3.7版本,在Package Manager中安装了Oculus Integration。
MRTK:是由 Microsoft 驱动的项目,它提供了一系列组件和功能来加速 Unity 中的跨平台 MR 应用开发。
MRTK提供了TMP_KeyboardInputField,能够作为输入框,并且能够自动调用系统的虚拟键盘,就是如何使用,请参考Mixed Reality Keyboard - Mixed Reality Toolkit | Microsoft Docs
在使用的过程中,在Oculus quest中死活调不出来虚拟键盘。
经过定位,oculus需要开启使用系统键盘的,如何开启虚拟键盘呢,有2个办法。
办法一:在OculusProjectConfig配置中,勾选上Require System keyboard。
办法二:修改AndroidManifest.xml,添加oculus overlay_keyboard的使用。
点击Edit->Project Settings->Player->Publishing Settings,勾选上Custom Main Manifest 。
AndroidManifest.xml具体内容如下:
这样,就可以在oculus里打开虚拟键盘了。最后需要注意的是,完成输入之后,需要点击GO键之后,键盘才能消失,否则键盘消失不了的。
参考文献:
GitHub - Unity-Technologies/XR-Interaction-Toolkit-Examples: This repository contains various examples to use with the XR Interaction Toolkit