QIYU奇遇 Unity XR SDK的虚拟键盘如何使用?

奇遇QIYU SDK示例包中为我们提供了虚拟键盘的功能,主要实现就是在VR端呼出系统的虚拟键盘 并显示在当前画面上。我们只需要知道如何呼出此虚拟键盘,以及如何与虚拟键盘发生交互,即可。

配置键盘

我们需要在场景中留有一份激活的Keyboard游戏对象,同时将其“键盘面片”模型关闭掉。

按照如下进行配置:

设置可以与之发生交互的手柄-射线控制器,并向M Kbd Views 添加三份键盘面片,此处笔者认为在VR端并无用处,仅在开发用作调试。

呼出键盘

默认Keyboard是与VRInputField 组合在一起使用的,当点击VRInputField UI时,就会直接呼出Keyboard,并将该VRInputField与Keyboard发生绑定,也就是说Keyboard中的输入会输出(显示)到当前的VRInputField Text上。

隐藏键盘

在完成某些逻辑后,我们需要关闭键盘,以停止输入。

我们只需调用 ImeManager.Instance.Hide(); 示例如下:

    public void ClickSure()
    {
        Pairing();
        if (ImeManager.Instance.IsShow())
        {
            ImeManager.Instance.Hide();
        }
        
    }

 

监听输入完成

QIYU SDK总是让人烦躁到爆,这次也是如此。在VRInputField并没有为我们提供输入完成的监听事件,我们需要在VRInputField脚本下找到

OnEndInput函数,添加如下代码,为其添加一个事件:

       public Action<string> onEndInputed;
        public void OnEndInput(string text)
        {
            // TODO: add event.
            onEndInputed?.Invoke(text);
        }

在逻辑类中,对其进行监听。代码如下:

 public void Start()
    {
        vrInputField.onEndInputed = EndInput;
    }
    public void UpdateInputValue()
    {

    }
    //public void Update()
    //{
    //    if (Input.GetKeyDown(KeyCode.K))
    //    {
    //        ImeManager.Instance.Hide();
    //    }
    //}

    public void EndInput(string text)
    {
        inputFigure = text;
        enterKeyboard?.Invoke();
        ClickSure();
    }

 

 

作者:Miracle
来源:麦瑞克博客
链接:https://www.unitymake.com/archives/unity/1512
本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议,转载请注明!
THE END
分享
打赏
海报
QIYU奇遇 Unity XR SDK的虚拟键盘如何使用?
奇遇QIYU SDK示例包中为我们提供了虚拟键盘的功能,主要实现就是在VR端呼出系统的虚拟键盘 并显示在当前画面上。我们只需要知道如何呼出此虚拟键盘,以及如何……
<<上一篇
下一篇>>
文章目录
关闭
目 录