Oculus Quest,Unity开发如何开启虚拟键盘

最近在做一个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具体内容如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.unity3d.player"
    xmlns:tools="http://schemas.android.com/tools">
    <application>
        <activity android:name="com.unity3d.player.UnityPlayerActivity"
                  android:theme="@style/UnityThemeSelector">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
        </activity>
    </application>
    <uses-feature android:name="oculus.software.overlay_keyboard" android:required="false"/>
</manifest>

这样,就可以在oculus里打开虚拟键盘了。最后需要注意的是,完成输入之后,需要点击GO键之后,键盘才能消失,否则键盘消失不了的。

参考文献:

GitHub - Unity-Technologies/XR-Interaction-Toolkit-Examples: This repository contains various examples to use with the XR Interaction Toolkit

猜你喜欢

转载自blog.csdn.net/grace_yi/article/details/122630558