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