一种虚拟现实交互方法及装置与流程

文档序号:11949166阅读:386来源:国知局
一种虚拟现实交互方法及装置与流程

本发明涉及虚拟现实技术领域,尤其涉及一种虚拟现实交互方法及装置。



背景技术:

触摸设备是一种常见的和成熟的交互设备。也是VR(Virtual Reality,虚拟现实)设备常见的交互方式。当手指点触时在1毫秒内就可以获知并将此信息送往上层。但在VR设备上,非VR应用程序如即时通讯类的应用程序、金融支付类的应用程序等的界面或者下拉菜单、悬浮窗、弹窗等系统界面,在绘制到VR设备之后,由于用户戴着头戴式设备,无法直接看到手指点击的精确位置,因而无法做到直观而有效的交互。

为此现有技术提出如图1所示的VR设备交互方式,基于图1所示的VR设备,将触摸屏安装于VR设备侧边上,且触摸屏的面积要远远小于VR设备中显示非VR应用程序的虚拟屏幕,触摸屏与虚拟屏幕的具有对应触控关系的。因此当用户在佩戴VR设备时,可以通过对触摸屏的触摸来操作虚拟屏幕相应位置显示功能,例如,在虚拟屏幕上显示的是一个微信应用,上面显示有10个联系人的最近通信记录,如果想要进入与第3个联系人的聊天界面,可通过在触摸屏上相应位置进行点击,从而实现打开与第3个联系人的聊天界面,这种操作跟使用触摸屏的手机比较相似,只不过在VR设备上,显示屏是在VR设备内部,触摸屏是在VR设备的侧边上,即显示屏与触摸屏是分离式的。

上述用户与VR设备上非VR应用程序的交互方式存在的主要问题是:由于用户佩戴着VR设备,无法看到触摸屏,当用户想要触摸VR设备上的虚拟屏幕上某个位置时,需要用手指精确地在VR设备侧边上的触摸屏的相应位置进行点击,这种方式实现起来是相当困难的,尤其是当虚拟屏幕上出现虚拟键盘,需要用户在触摸屏上进行字母或数字的输入时,由于字母或数字比较小,想要在触摸屏上找到对应的精确位置进行点击,几乎是做不到的。

综上所述,现有技术中用户佩戴VR设备与VR设备中的非VR应用程序进行交互时,准确率比较低,操作起来非常不方便。



技术实现要素:

本发明提供一种虚拟现实交互方法及装置,用以解决现有技术中存在的用户佩戴VR设备与VR设备中的非VR应用程序进行交互时,准确率比较低,操作起来非常不方便的技术问题。

一方面,本发明实施例提供一种虚拟现实交互方法,包括:

在检测到触摸屏的触摸事件时,若确定当前应用程序为非虚拟现实VR应用程序,则确定所述触摸事件的类型,所述触摸屏用于接收用户输入的触摸指令;

若确定所述触摸事件的类型为首次按下事件,则确定头控光标指向的对象,并对所述头控光标指向的对象进行相应处理,所述头控光标在显示屏幕中的位置固定。

可选地,所述头控光标指向的对象为控件按钮;

所述对所述头控光标指向的对象进行相应处理,包括:

根据预定义的所述控件按钮对应的首次按下事件处理方式,确定第一预定义处理事件;

根据所述第一预定义处理事件进行处理。

可选地,所述头控光标指向的对象为虚拟屏幕,所述虚拟屏幕位于所述显示屏幕之中,用于显示所述当前应用程序;

所述对所述头控光标指向的对象进行相应处理,包括:

根据所述头控光标的位置坐标及所述虚拟屏幕的界面朝向,对所述触摸事件中的首次触摸坐标进行修正,得到首次修正触摸坐标,所述首次修正触摸坐标为所述首次按下事件对应的所述虚拟屏幕的坐标;

根据所述首次修正触摸坐标更新所述触摸事件,得到更新的触摸事件,并由输入事件管理模块对所述更新的触摸事件进行处理。

可选地,所述确定所述触摸事件的类型之后,还包括:

若确定所述触摸事件的类型为非首次按下事件,则确定发生所述非首次按下事件对应的首次按下事件时所述头控光标指向的对象,并对所述头控光标指向的对象进行相应处理。

可选地,发生所述非首次按下事件对应的首次按下事件时所述头控光标指向的对象为控件按钮;

所述对所述头控光标指向的对象进行相应处理,包括:

根据预定义的所述控件按钮对应的非首次按下事件处理方式,确定第二预定义处理事件;

根据所述第二预定义处理事件进行处理。

可选地,发生所述非首次按下事件对应的首次按下事件时所述头控光标指向的对象为虚拟屏幕;

所述对所述头控光标指向的对象进行相应处理,包括:

根据所述非首次按下事件中的非首次触摸坐标及发生首次按下事件时的首次触摸坐标,确定差异值;

根据所述差异值对发生首次事件时的首次修正触摸坐标进行修正,得到非首次修正触摸坐标,所述非首次修正触摸坐标为所述非首次按下事件对应的所述虚拟屏幕的坐标;

根据所述非首次修正触摸坐标更新所述触摸事件,得到更新后的触摸事件,并由输入事件管理模块对所述更新的触摸事件进行处理。

可选地,所述根据所述非首次按下事件中的非首次触摸坐标及发生首次按下事件时的首次触摸坐标,确定差异值,包括:

若所述虚拟屏幕的界面朝向与所述触摸屏的朝向相同,则确定所述非首次触摸坐标与发生首次按下事件时的首次触摸坐标的差值,并将所述差值按预设比例进行调整后,作为所述差异值;

若所述虚拟屏幕的界面朝向与所述触摸屏的朝向不同,则确定所述非首次触摸坐标与发生首次按下事件时的首次触摸坐标的差值,并将所述差值根据所述虚拟屏幕的界面朝向与所述触摸屏的朝向,对所述差值进行旋转并按所述预设比例进行调整后,作为所述差异值。

另一方面,本发明实施例提供一种虚拟现实交互装置,包括:

触摸事件类型确定单元,用于在检测到触摸屏的触摸事件时,若确定当前应用程序为非虚拟现实VR应用程序,则确定所述触摸事件的类型,所述触摸屏用于接收用户输入的触摸指令;

处理单元,用于若确定所述触摸事件的类型为首次按下事件,则确定头控光标指向的对象,并对所述头控光标指向的对象进行相应处理,所述头控光标在显示屏幕中的位置固定。

可选地,所述头控光标指向的对象为控件按钮;

所述处理单元,具体用于:

根据预定义的所述控件按钮对应的首次按下事件处理方式,确定第一预定义处理事件;

根据所述第一预定义处理事件进行处理。

可选地,所述头控光标指向的对象为虚拟屏幕,所述虚拟屏幕位于所述显示屏幕之中,用于显示所述当前应用程序;

所述处理单元,具体用于:

根据所述头控光标的位置坐标及所述虚拟屏幕的界面朝向,对所述触摸事件中的首次触摸坐标进行修正,得到首次修正触摸坐标,所述首次修正触摸坐标为所述首次按下事件对应的所述虚拟屏幕的坐标;

根据所述首次修正触摸坐标更新所述触摸事件,得到更新的触摸事件,并将由输入事件管理模块对所述更新的触摸事件进行处理。

可选地,所述处理单元,还用于:

若确定所述触摸事件的类型为非首次按下事件,则确定发生所述非首次按下事件对应的首次按下事件时所述头控光标指向的对象,并对所述头控光标指向的对象进行相应处理。

可选地,发生所述非首次按下事件对应的首次按下事件时所述头控光标指向的对象为控件按钮;

所述处理单元,具体用于:

根据预定义的所述控件按钮对应的非首次按下事件处理方式,确定第二预定义处理事件;

根据所述第二预定义处理事件进行处理。

可选地,发生所述非首次按下事件对应的首次按下事件时所述头控光标指向的对象为虚拟屏幕;

所述处理单元,具体用于:

根据所述非首次按下事件中的非首次触摸坐标及发生首次按下事件时的首次触摸坐标,确定差异值;

根据所述差异值对发生首次事件时的首次修正触摸坐标进行修正,得到非首次修正触摸坐标,所述非首次修正触摸坐标为所述非首次按下事件对应的所述虚拟屏幕的坐标;

根据所述非首次修正触摸坐标更新所述触摸事件,得到更新后的触摸事件,并由输入事件管理模块对所述更新的触摸事件进行处理。

可选地,所述处理单元,具体用于:

若所述虚拟屏幕的界面朝向与所述触摸屏的朝向相同,则确定所述非首次触摸坐标与发生首次按下事件时的首次触摸坐标的差值,并将所述差值按预设比例进行调整后,作为所述差异值;

若所述虚拟屏幕的界面朝向与所述触摸屏的朝向不同,则确定所述非首次触摸坐标与发生首次按下事件时的首次触摸坐标的差值,并将所述差值根据所述虚拟屏幕的界面朝向与所述触摸屏的朝向,对所述差值进行旋转并按所述预设比例进行调整后,作为所述差异值。

本发明实施例,在检测到触摸屏的触摸事件时,若确定当前应用程序为非虚拟现实VR应用程序,则确定所述触摸事件的类型,所述触摸屏用于接收用户输入的触摸指令;若确定所述触摸事件的类型为首次按下事件,则确定头控光标指向的对象,并对所述头控光标指向的对象进行相应处理,所述头控光标在显示屏幕中的位置固定。本发明实施例,由用户通过头部运动,改变显示屏幕中显示的非VR应用程序的显示位置,从而可以改变头控光标指向的对象,然后由用户通过在触摸屏上触摸后生成触摸事件,该触摸事件用于对头控光标所指向的对象进行相应处理,该方法实现了通过头部运动让头控光标指向想要处理的对象,然后通过触摸屏进行相应控制,用户可以准确地确定要进行操作的对象,从而可以大大提高操作的成功率,使得用户操作起来更加方便。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为背景技术中VR设备交互示意图;

图2为本发明实施例提供一种虚拟现实交互方法流程图;

图3为本发明实施例提供的虚拟屏幕及头控光标显示示意图;

图4为本发明实施例提供的虚拟屏幕及头控光标显示示意图;

图5为本发明实施例提供的一种虚拟现实交互方法详细流程图;

图6为本发明实施例提供的一种虚拟现实交互装置示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

下面结合说明书附图对本发明实施例作进一步详细描述。

如图2所示,本发明实施例提供的一种虚拟现实交互方法,包括:

步骤201、在检测到触摸屏的触摸事件时,若确定当前应用程序为非虚拟现实VR应用程序,则确定所述触摸事件的类型,所述触摸屏用于接收用户输入的触摸指令;

步骤202、若确定所述触摸事件的类型为首次按下事件,则确定头控光标指向的对象,并对所述头控光标指向的对象进行相应处理,所述头控光标在显示屏幕中的位置固定。

如图3为本发明实施例提供的虚拟屏幕及头控光标显示示意图,其中,用户通过佩戴VR设备,可以看到显示屏幕(图3中网格状背景所示),显示屏幕用于显示VR应用程序,在显示屏幕上有虚拟屏幕,用于显示非VR应用程序(如微信应用程序,支付宝应用程序,时钟应用程序,悬浮窗应用程序,弹窗应用程序等等),图3示例中,在虚拟屏幕中显示的时钟应用程序,其中显示的具体内容为:08:18AM。

当在VR设备的显示屏幕上有非VR应用程序在虚拟屏幕显示时,也会有控件按钮出现,如图3所示,控件按钮有WIFI信号提示控件,VR设备电量提示控件,虚拟屏幕放大控件,虚拟屏幕缩小控件,虚拟屏幕左旋转控件,虚拟屏幕右旋转控件等等,其中,有的控件按钮可交互,如图3中的虚拟屏幕放大控件,虚拟屏幕缩小控件,虚拟屏幕左旋转控件,虚拟屏幕右旋转控件;有的控件按钮只用于观看,不可交互,如图3中的WIFI信号提示控件,VR设备电量提示控件。

此外,在显示屏幕还显示有头控光标,所述头控光标在显示屏幕中的位置固定。例如以图3为例,头控光标显示在显示屏幕的中间位置,当用户转动头部时,会触发对VR设备的显示画面的重绘制,例如,用户向左上方转动头部,则重新绘制后的画面如图4所示,其中图4为本发明实施例提供的虚拟屏幕及头控光标显示示意图,当用户向左上方转动头部时,整个VR应用程序以及虚拟屏幕上的非VR应用程序以及控件按钮均会重绘制,但此时,头控光标在显示屏幕中的位置不变,依然位于显示屏幕中间位置,通过上述方式,可实现当用户通过头部转动时,可使得头控光标指向不同的对象(例如,指向VR应用程序,指向虚拟屏幕的某个位置,指向控件按钮),本发明实施例正是基于这种设计,实现由用户通过头部转动,让头控光标指向某个对象,然后用户通过在图1所示的触摸屏上进行触摸操作,来对头控光标指向的位置进行相应的处理,从而实现了与虚拟屏幕的高效交互。

下面结合图2进行详细描述。

在上述步骤201中,用户通过头部转动,可使得头控光标指向某个位置(如指向虚拟屏幕,指向控件按钮,或者是指向VR应用程序),然后用户通过触摸屏进行相应触摸操作。

当VR设备检测到触摸屏的触摸事件时,首先判断当前应用程序为非VR应用程序,其中,所述触摸屏用于接收用户输入的触摸指令,如图1中VR设备侧边上的触摸屏。

具体地,可以根据当前应用程序是否包含某个标识信息来判断当前应用程序是VR应用程序还是非VR应用程序。例如,可以在页面分配管理模块中(如安卓的gralloc),在分配出的页面数据结构隐藏了一个标记用来区分非VR应用和VR应用。具体判定依据为:如果某个应用使用了egl_GVR_FrontBuffer这个EGL扩展,则该应用为VR应用,如果没有使用这个EGL扩展,则该应用为非VR应用,从而方便判断当前应用程序是VR应用程序还是非VR应用程序。

另外,当前应用程序指的是VR设备中最上层的应用程序。VR设备可以获取最上层的应用程序,并将最上层的应用程序作为当前应用程序。

若确定当前应用程序为非虚拟现实VR应用程序,则确定所述触摸事件的类型,其中,触摸事件的类型分为首次触摸事件和非首次触摸事件。

下面针对触摸事件的类型分情况来分别说明。

情形一、触摸事件的类型为首次触摸事件

在上述步骤202中,若确定所述触摸事件的类型为首次按下事件,则确定头控光标指向的对象,并对所述头控光标指向的对象进行相应处理,所述头控光标在显示屏幕中的位置固定。

根据头控光标指向的对象,下面具体再分三种情形来分别说明、

一、所述头控光标指向的对象为控件按钮。

所述对所述头控光标指向的对象进行相应处理,包括:根据预定义的所述控件按钮对应的首次按下事件处理方式,确定第一预定义处理事件;根据所述第一预定义处理事件进行处理。

参考图2,即在触摸屏上进行首次按键时(所谓首次按键,指的是在此次按键事件之前,触摸屏处于未被按压状态,即没有手指停留在触摸屏上面),此时,头控光标指向控件按钮,例如头控光标指向虚拟屏幕放大按钮,则根据预先定义的虚拟屏幕放大按钮对应的首次按下时间处理方式,进行相应处理,比如预定义的虚拟屏幕放大按钮对应的首次按下时间处理方式为将屏幕放大10%等等。

二、所述头控光标指向的对象为虚拟屏幕,所述虚拟屏幕位于所述显示屏幕之中,用于显示所述当前应用程序

所述对所述头控光标指向的对象进行相应处理,包括:根据所述头控光标的位置坐标及所述虚拟屏幕的界面朝向,对所述触摸事件中的首次触摸坐标进行修正,得到首次修正触摸坐标,所述首次修正触摸坐标为所述首次按下事件对应的所述虚拟屏幕的坐标;根据所述首次修正触摸坐标更新所述触摸事件,得到更新的触摸事件,并由输入事件管理模块对所述更新的触摸事件进行处理。

具体地,首先根据头控光标位置坐标(其中头控光标的位置坐标是固定不变的,当用户头部转动时,由于VR应用,虚拟屏幕及控件按钮都会被重绘,因此头控光标会指向的对象是可以变化的),以及根据虚拟屏幕的界面朝向(指的是横屏模式还是竖屏模式,其中虚拟屏幕的界面朝向是可以变化的,但是触摸屏由于是固定的,因此触摸屏的界面朝向是不变的,这会导致虚拟屏幕的界面朝向与触摸屏的界面朝向可能相同,也可能不相同),对触摸事件中的首次触摸坐标进行修正,得到首次修正触摸坐标,其中,触摸事件的首次触摸坐标指的是用户在触摸屏上触摸的位置的坐标,现在需要对其进行修正,得到首次修正触摸坐标,其中,首次修正触摸坐标指的是对首次触摸坐标进行修正后,得到的虚拟屏幕上的坐标。

在本发明实施例中,具体地修正方式为:如果虚拟屏幕的界面朝向与触摸屏的界面朝向相同,则将触摸事件中的首次触摸坐标作为所述首次修正触摸坐标;如果虚拟屏幕的界面朝向与触摸屏的界面朝向不相同,则将触摸事件中的首次触摸坐标进行旋转后(一般是旋转90度或270度)作为所述首次修正触摸坐标。

三、所述头控光标指向的对象为VR应用程序

若触摸事件为首次触摸事件,且头控光标指向的对象为VR应用程序,则不做任何处理,即本发明实施例中,触摸屏只是用于与非VR应用程序或者头控光标进行交互,而不与VR应用程序交互。

情形二、触摸事件的类型为非首次触摸事件

可选地,所述确定所述触摸事件的类型之后,若确定所述触摸事件的类型为非首次按下事件,则确定发生所述非首次按下事件对应的首次按下事件时所述头控光标指向的对象,并对所述头控光标指向的对象进行相应处理。

根据发生所述非首次按下事件对应的首次按下事件时所述头控光标指向的对象,下面具体也再分三种情形来分别说明。

一、发生所述非首次按下事件对应的首次按下事件时所述头控光标指向的对象为控件按钮

所述对所述头控光标指向的对象进行相应处理,包括:根据预定义的所述控件按钮对应的非首次按下事件处理方式,确定第二预定义处理事件;根据所述第二预定义处理事件进行处理。

举例来说,用户首次按下触摸屏时,头控光标指向的对象为控件为音量放大控件按钮,然后用户手指没有抬起,向某个方向滑动,在滑动的过程中可以检测到滑动事件,即为非首次按下事件,则可以根据该音量放大控件按钮预先定义的第二预定义处理事件(例如为音量放大事件,或音量减小事件)。

二、发生所述非首次按下事件对应的首次按下事件时所述头控光标指向的对象为虚拟屏幕

所述对所述头控光标指向的对象进行相应处理,包括:

步骤A、根据所述非首次按下事件中的非首次触摸坐标及发生首次按下事件时的首次触摸坐标,确定差异值。

该步骤中,确定非首次按下事件中的非首次触摸坐标,例如当前已经有一个第一手指按在了触摸屏上,然后一个第二手指从第一手指附近的位置开始向外滑动,则可以获取到第二手指在非首次按下事件中的非首次触摸坐标,以及获取到发生首次按下事件(即第一手指的按下事件)时存储的首次触摸坐标,从而可以计算二者之间的差异值。

可选地,所述根据所述非首次按下事件中的非首次触摸坐标及发生首次按下事件时的首次触摸坐标,确定差异值,包括:若所述虚拟屏幕的界面朝向与所述触摸屏的朝向相同,则确定所述非首次触摸坐标与发生首次按下事件时的首次触摸坐标的差值,并将所述差值按预设比例进行调整后,作为所述差异值;若所述虚拟屏幕的界面朝向与所述触摸屏的朝向不同,则确定所述非首次触摸坐标与发生首次按下事件时的首次触摸坐标的差值,并将所述差值根据所述虚拟屏幕的界面朝向与所述触摸屏的朝向,对所述差值进行旋转并按所述预设比例进行调整后,作为所述差异值。

例如,用户首次按下触摸屏时的坐标为(1,2),用户保持首次按下触摸屏的手指不抬起,然后用另外一个手指在屏幕上滑动,则会在检测到非首次按下事件,假如用户是在触摸屏上滑动,则可以检测到一系列的非首次触摸事件,从而得到相应的非首次按下事件对应的坐标,假如分别为:(1,3),(1,4),(1,5)。则可以得到一系列的差值:(0,1),(0,2),(0,3)。

接着,根据虚拟屏幕的界面朝向与所述触摸屏的朝向的关系,确定是否需要对差异值进行旋转,若虚拟屏幕的界面朝向与所述触摸屏的朝向相同,则不需要旋转;若虚拟屏幕的界面朝向与所述触摸屏的朝向不同,则需要旋转,例如可以是旋转90度,或者是270度等等。

然后,根据预设的比例对上述差值进行调整后,得到差异值,例如对差值(0,2)按照1:2的比例放大,则差异值为(0,4)。

步骤B、根据所述差异值对发生首次事件时的首次修正触摸坐标进行修正,得到非首次修正触摸坐标,所述非首次修正触摸坐标为所述非首次按下事件对应的所述虚拟屏幕的坐标。

该步骤中,根据所述差异值对发生首次事件时的首次修正触摸坐标进行修正,即根据触摸屏上的坐标之间的差值得到差异值后,根据该差异值对首次修正触摸坐标,得到非首次修正触摸坐标。

举例来说,在虚拟屏幕上的首次修正触摸坐标为(5.5,6.5),得到的差异值为(0,4),则得到的非首次修正触摸坐标为(5.5,10.5),即可以实现将在触摸屏上的相应操作转换为虚拟屏幕上的相应操作。

当然,在实际应用中,一般都会对坐标进行归一化之后再进行相应处理,以提高计算效率,上述例子中使用到的坐标均为示例性说明。

步骤C、根据所述非首次修正触摸坐标更新所述触摸事件,得到更新后的触摸事件,并由输入事件管理模块对所述更新的触摸事件进行处理。

其中,输入事件管理模块是系统级管理输入事件的模块单元,属于现有技术中VR设备的现有模块,用于对输入事件按照预定义的方式进行处理。

三、发生所述非首次按下事件对应的首次按下事件时所述头控光标指向的对象为空

在这种情形下,用户首次按下触摸屏时,头控光标指向对象为空指的是头控光标既没有指向虚拟屏幕,也没有指向头控光标,而是指向了其它位置,比如指向了背景图像,然后用户未抬起手指,又发生了非首次按下事件(例如用户使用上述手指进行滑动,或者使用其他手指又对触摸屏进行操作),则此时可以将该非首次按下事件作为首次按下事件来处理,即将所述头控光标指向的对象为空时发生的首次按下事件当做无效事件,因而将随后发生的非首次按下事件作为首次按下事件来处理,具体处理方式可参照上述情形一的三种情形来处理,在此不再赘述。

本发明实施例,在检测到触摸屏的触摸事件时,若确定当前应用程序为非虚拟现实VR应用程序,则确定所述触摸事件的类型,所述触摸屏用于接收用户输入的触摸指令;若确定所述触摸事件的类型为首次按下事件,则确定头控光标指向的对象,并对所述头控光标指向的对象进行相应处理,所述头控光标在显示屏幕中的位置固定。本发明实施例,由用户通过头部运动,改变显示屏幕中显示的非VR应用程序的显示位置,从而可以改变头控光标指向的对象,然后由用户通过在触摸屏上触摸后生成触摸事件,该触摸事件用于对头控光标所指向的对象进行相应处理,该方法实现了通过头部运动让头控光标指向想要处理的对象,然后通过触摸屏进行相应控制,用户可以准确地确定要进行操作的对象,从而可以大大提高操作的成功率,使得用户操作起来更加方便。

下面对本发明实施例提供的一种虚拟现实交互方法做详细描述,如图5所示,包括:

步骤501、检测到触摸屏的触摸事件。

步骤502、判断当前应用程序是否为非VR应用程序,若是则转到步骤503,否则转到步骤511。

步骤503、判断所述触摸事件的类型是否为首次按下事件,若是则转到步骤504,若否,则转到步骤512。

步骤504、头控光标指向的对象是否为控件按钮,若是则转到步骤505,否则转到步骤506。

步骤505、进入自定义的控件逻辑处理。

即,根据预定义的所述控件按钮对应的首次按下事件处理方式,确定第一预定义处理事件;根据所述第一预定义处理事件进行处理。

步骤506、头控光标指向的对象是否为虚拟屏幕,若是则转到步骤507,否则结束流程。

步骤507、进入非VR应用程序交互。

首次按下事件,例如有单手指按下事件。

步骤508、备份首次触摸坐标。

步骤509、根据头控光标指向位置坐标与当前界面朝向,计算并备份首次修正触摸坐标。

具体地,根据所述头控光标的位置坐标及所述虚拟屏幕的界面朝向,对所述触摸事件中的首次触摸坐标进行修正,得到首次修正触摸坐标,所述首次修正触摸坐标为所述首次按下事件对应的所述虚拟屏幕的坐标。

步骤510、对触摸事件中的坐标进行更新,得到更新的触摸事件。

具体地,根据所述首次修正触摸坐标更新所述触摸事件,得到更新的触摸事件,并由输入事件管理模块对所述更新的触摸事件进行处理。

步骤511、输入事件管理模块对接收到的更新的触摸事件进行相应处理。

具体地,输入事件管理模块对触摸事件进行处理为现有技术,在此不做赘述。

步骤512、判断首次按下事件中头控光标指向的对象,若空(即既没有指向虚拟屏幕,也没有指向控件按钮),则转到步骤504,若是虚拟屏幕,则转到步骤514,若是控件按钮,则转到步骤513。

步骤513、继续进入自定义的控件逻辑处理。

具体地,根据预定义的所述控件按钮对应的非首次按下事件处理方式,确定第二预定义处理事件;根据所述第二预定义处理事件进行处理。

步骤514、继续非VR应用程序交互。

例如非首次按下事件有多指按下事件,单指滑动事件等。

步骤515、获取非首次触摸坐标。

步骤516、比较获取的非首次触摸坐标与首次触摸坐标,得到差值。

步骤517、对差值根据当前界面朝向旋转,并按比例调整后得到差异值。

步骤518、差异值与首次修正触摸坐标相加,得到非首次修正触摸坐标。

本发明实施例,在检测到触摸屏的触摸事件时,若确定当前应用程序为非虚拟现实VR应用程序,则确定所述触摸事件的类型,所述触摸屏用于接收用户输入的触摸指令;若确定所述触摸事件的类型为首次按下事件,则确定头控光标指向的对象,并对所述头控光标指向的对象进行相应处理,所述头控光标在显示屏幕中的位置固定。本发明实施例,由用户通过头部运动,改变显示屏幕中显示的非VR应用程序的显示位置,从而可以改变头控光标指向的对象,然后由用户通过在触摸屏上触摸后生成触摸事件,该触摸事件用于对头控光标所指向的对象进行相应处理,该方法实现了通过头部运动让头控光标指向想要处理的对象,然后通过触摸屏进行相应控制,用户可以准确地确定要进行操作的对象,从而可以大大提高操作的成功率,使得用户操作起来更加方便。

基于相同的技术构思,本发明实施例还提供一种虚拟现实交互装置,如图6所示,包括:

触摸事件类型确定单元601,用于在检测到触摸屏的触摸事件时,若确定当前应用程序为非虚拟现实VR应用程序,则确定所述触摸事件的类型,所述触摸屏用于接收用户输入的触摸指令;

处理单元602,用于若确定所述触摸事件的类型为首次按下事件,则确定头控光标指向的对象,并对所述头控光标指向的对象进行相应处理,所述头控光标在显示屏幕中的位置固定。

可选地,所述头控光标指向的对象为控件按钮;

所述处理单元602,具体用于:

根据预定义的所述控件按钮对应的首次按下事件处理方式,确定第一预定义处理事件;

根据所述第一预定义处理事件进行处理。

可选地,所述头控光标指向的对象为虚拟屏幕,所述虚拟屏幕位于所述显示屏幕之中,用于显示所述当前应用程序;

所述处理单元602,具体用于:

根据所述头控光标的位置坐标及所述虚拟屏幕的界面朝向,对所述触摸事件中的首次触摸坐标进行修正,得到首次修正触摸坐标,所述首次修正触摸坐标为所述首次按下事件对应的所述虚拟屏幕的坐标;

根据所述首次修正触摸坐标更新所述触摸事件,得到更新的触摸事件,并由输入事件管理模块对所述更新的触摸事件进行处理。

可选地,所述处理单元602,还用于:

若确定所述触摸事件的类型为非首次按下事件,则确定发生所述非首次按下事件对应的首次按下事件时所述头控光标指向的对象,并对所述头控光标指向的对象进行相应处理。

可选地,发生所述非首次按下事件对应的首次按下事件时所述头控光标指向的对象为控件按钮;

所述处理单元602,具体用于:

根据预定义的所述控件按钮对应的非首次按下事件处理方式,确定第二预定义处理事件;

根据所述第二预定义处理事件进行处理。

可选地,发生所述非首次按下事件对应的首次按下事件时所述头控光标指向的对象为虚拟屏幕;

所述处理单元602,具体用于:

根据所述非首次按下事件中的非首次触摸坐标及发生首次按下事件时的首次触摸坐标,确定差异值;

根据所述差异值对发生首次事件时的首次修正触摸坐标进行修正,得到非首次修正触摸坐标,所述非首次修正触摸坐标为所述非首次按下事件对应的所述虚拟屏幕的坐标;

根据所述非首次修正触摸坐标更新所述触摸事件,得到更新后的触摸事件,并由输入事件管理模块对所述更新的触摸事件进行处理。

可选地,所述处理单元602,具体用于:

若所述虚拟屏幕的界面朝向与所述触摸屏的朝向相同,则确定所述非首次触摸坐标与发生首次按下事件时的首次触摸坐标的差值,并将所述差值按预设比例进行调整后,作为所述差异值;

若所述虚拟屏幕的界面朝向与所述触摸屏的朝向不同,则确定所述非首次触摸坐标与发生首次按下事件时的首次触摸坐标的差值,并将所述差值根据所述虚拟屏幕的界面朝向与所述触摸屏的朝向,对所述差值进行旋转并按所述预设比例进行调整后,作为所述差异值。

本发明实施例,在检测到触摸屏的触摸事件时,若确定当前应用程序为非虚拟现实VR应用程序,则确定所述触摸事件的类型,所述触摸屏用于接收用户输入的触摸指令;若确定所述触摸事件的类型为首次按下事件,则确定头控光标指向的对象,并对所述头控光标指向的对象进行相应处理,所述头控光标在显示屏幕中的位置固定。本发明实施例,由用户通过头部运动,改变显示屏幕中显示的非VR应用程序的显示位置,从而可以改变头控光标指向的对象,然后由用户通过在触摸屏上触摸后生成触摸事件,该触摸事件用于对头控光标所指向的对象进行相应处理,该方法实现了通过头部运动让头控光标指向想要处理的对象,然后通过触摸屏进行相应控制,用户可以准确地确定要进行操作的对象,从而可以大大提高操作的成功率,使得用户操作起来更加方便。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1