在虚拟屏幕中实现触摸屏应用的方法和系统、VR设备与流程

文档序号:12663950阅读:413来源:国知局
在虚拟屏幕中实现触摸屏应用的方法和系统、VR设备与流程

本发明涉及虚拟现实技术,更具体地,涉及在虚拟屏幕中实现触摸屏应用的方法、在虚拟屏幕中实现触摸屏应用的系统、VR设备。



背景技术:

触摸屏已经成为智能电子设备的主流配置,很多应用都是基于触摸屏实现的,例如基于触摸屏实现的地图应用等,这些基于触摸屏实现的应用统称为触摸屏应用。触摸屏应用的原理为:通过检测电容变化等方式得到触摸点在触摸屏坐标系统中的坐标,触摸屏应用对触摸点坐标数据进行解析,确定用户的操作意图后执行相应的操作。

随着虚拟现实(Virtual Reality,VR)技术的逐步成熟,各种虚拟现实设备陆续出现。为了解决虚拟现实设备发展初期应用匮乏的问题,一些厂商开发了在虚拟现实设备上运行现有的普通应用的模式,该模式下系统会创建一个虚拟场景,然后将普通应用的界面显示在虚拟场景中的一个虚拟屏幕上。但是虚拟屏幕是无法触摸的,这就意味着为触摸屏设计的触摸屏应用无法应用于这种模式下。



技术实现要素:

本发明的一个目的是提供在虚拟屏幕中实现触摸屏应用的方法。

根据本发明的第一方面,提供了一种在虚拟屏幕中实现触摸屏应用的方法,包括以下步骤:

将触摸屏应用显示在虚拟屏幕上;

检测从近平面中心发出的、向远平面中心延伸的射线与所述虚拟屏幕是否存在交点以及所述交点在所述虚拟屏幕中的位置;

根据所述交点在所述虚拟屏幕中的位置确定所述交点对应的触摸点在触摸屏坐标系统中的坐标。

可选地,所述虚拟屏幕位于可视空间中最靠近近平面的位置。

可选地,还包括以下步骤:如果模拟触摸的操作被触发并且所述射线与所述虚拟屏幕存在交点,则发送触摸屏被按压的消息和所述交点对应的触摸点在触摸屏坐标系统中的坐标至所述触摸屏应用;按照一定时间间隔继续发送所述交点对应的触摸点在触摸屏坐标系统中的坐标,直至模拟触摸的操作被停止和/或所述交点消失;发送触摸屏被松开的消息至所述触摸屏应用。

可选地,所述虚拟屏幕由三角形虚拟屏幕拼成;所述方法还包括以下步骤:采用射线和三角形交叉检测算法检测所述射线与所述三角形虚拟屏幕的相交情况,确定所述射线与所述虚拟屏幕是否存在交点以及所述交点在所述虚拟屏幕中的位置。

可选地,在近平面中心显示光标。

根据本发明的第二方面,提供了一种在虚拟屏幕中实现触摸屏应用的方法,包括以下步骤:

将触摸屏应用显示在虚拟屏幕上;

检测从近平面中心发出的、向远平面中心延伸的射线是否碰撞在所述虚拟屏幕上以及所述碰撞点在所述虚拟屏幕中的位置;

根据所述碰撞点在所述虚拟屏幕中的位置确定所述碰撞点对应的触摸点在触摸屏坐标系统中的坐标。

可选地,还包括以下步骤:如果模拟触摸的操作被触发并且所述射线碰撞在所述虚拟屏幕上,则发送触摸屏被按压的消息和所述碰撞点对应的触摸点在触摸屏坐标系统中的坐标至所述触摸屏应用;按照一定时间间隔继续发送所述碰撞点对应的触摸点在触摸屏坐标系统中的坐标,直至模拟触摸的操作被停止和/或所述碰撞点消失;发送触摸屏被松开的消息至所述触摸屏应用。

可选地,在近平面中心显示光标。

根据本发明的第三方面,还提供了一种VR设备,具有处理器和存储器,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行根据前述任一项所述的方法。

根据本发明的第四方面,提供了一种在虚拟屏幕中实现触摸屏应用的系统,包括以下模块:

触摸屏应用显示模块,用于将触摸屏应用显示在虚拟屏幕上;

交点检测模块,用于检测从近平面中心发出的、向远平面中心延伸的射线与所述虚拟屏幕是否存在交点以及所述交点在所述虚拟屏幕中的位置;

触摸点坐标确定模块,用于根据所述交点在所述虚拟屏幕中的位置确定所述交点对应的触摸点在触摸屏坐标系统中的坐标。

可选地,所述虚拟屏幕位于可视空间中最靠近近平面的位置。

可选地,所述系统还包括触摸控制模块:所述触摸控制模块,用于如果模拟触摸的操作被触发并且所述射线与所述虚拟屏幕存在交点,则发送触摸屏被按压的消息和所述交点对应的触摸点在触摸屏坐标系统中的坐标至所述触摸屏应用;按照一定时间间隔继续发送所述交点对应的触摸点在触摸屏坐标系统中的坐标,直至模拟触摸的操作被停止和/或所述交点消失;发送触摸屏被松开的消息至所述触摸屏应用。

可选地,所述虚拟屏幕由三角形虚拟屏幕拼成;所述交点检测模块,用于采用射线和三角形交叉检测算法检测所述射线与所述三角形虚拟屏幕的相交情况,确定所述射线与所述虚拟屏幕是否存在交点以及所述交点在所述虚拟屏幕中的位置。

根据本发明的第五方面,提供了一种在虚拟屏幕中实现触摸屏应用的系统,包括以下模块:

触摸屏应用显示模块,用于将触摸屏应用显示在虚拟屏幕上;

碰撞检测模块,用于检测从近平面中心发出的、向远平面中心延伸的射线是否碰撞在所述虚拟屏幕上以及所述碰撞点在所述虚拟屏幕中的位置;

触摸点坐标确定模块,用于根据所述碰撞点在所述虚拟屏幕中的位置确定所述碰撞点对应的触摸点在触摸屏坐标系统中的坐标。

可选地,所述系统还包括触摸控制模块:所述触摸控制模块,如果模拟触摸的操作被触发并且所述射线碰撞在所述虚拟屏幕上,则发送触摸屏被按压的消息和所述碰撞点对应的触摸点在触摸屏坐标系统中的坐标至所述触摸屏应用;按照一定时间间隔继续发送所述碰撞点对应的触摸点在触摸屏坐标系统中的坐标,直至模拟触摸的操作被停止和/或所述碰撞点消失;发送触摸屏被松开的消息至所述触摸屏应用。

利用本发明提供的在虚拟屏幕中实现触摸屏应用的技术方案,原本为触摸屏设计的触摸屏应用也能够在虚拟现实设备上使用。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1是本发明第一实施例提供的在虚拟屏幕中实现触摸屏应用的方法的流程图。

图2是本发明第二实施例提供的在虚拟屏幕中实现触摸屏应用的方法的流程图。

图3是本发明实施例提供的在虚拟屏幕中实现触摸屏应用的系统的框图。

图4是本发明另一实施例提供的在虚拟屏幕中实现触摸屏应用的系统的框图。

图5是本发明实施例提供的VR设备的硬件配置示意图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

参考图1说明本发明第一实施例提供的在虚拟屏幕中实现触摸屏应用的方法,包括以下步骤:

101、将触摸屏应用显示在虚拟屏幕上。

用户使用虚拟现实设备时,系统会创建虚拟场景,在虚拟场景中设有虚拟屏幕,将触摸屏应用显示在虚拟屏幕上。为了适应人的视觉习惯,虚拟屏幕可以为矩形。

在虚拟现实技术中,近平面和远平面之间的视场(通常为一个四棱台)组成可视空间,在另一个实施例中,可以令虚拟屏幕始终位于可视空间中最靠近近平面的位置,以贴近用户的视觉习惯。

102、检测从近平面中心发出的、向远平面中心延伸的射线与所述虚拟屏幕是否存在交点以及所述交点在所述虚拟屏幕中的位置。

也就是说,本发明是用从近平面中心发出的、向远平面中心延伸的射线代表用户的手指方向,用射线与虚拟屏幕的交点代表触摸点。

以矩形屏幕为例说明步骤102的检测方法,矩形虚拟屏幕可以看成是以对角线分界的两个三角形虚拟屏幕,因此可以采用射线和三角形交叉检测算法检测所述射线与各个三角形虚拟屏幕的相交情况,从而确定所述射线与矩形虚拟屏幕是否存在交点,以及该交点在矩形虚拟屏幕中的位置。这一检测方法适用于可分解为若干个三角形的虚拟屏幕,例如矩形虚拟屏幕、三角形虚拟屏幕、正方形虚拟屏幕、正五边形虚拟屏幕等。

103、根据所述交点在所述虚拟屏幕中的位置确定所述交点对应的触摸点在触摸屏坐标系统中的坐标。

根据交点在虚拟屏幕的位置可以得到交点对应的触摸点在触摸屏中的位置,也就可以获得触摸点在触摸屏坐标系统中的坐标,从而实现用交点代表触摸点。

进一步的,如果模拟触摸的操作被触发并且所述射线与所述虚拟屏幕存在交点,则发送触摸屏被按压的消息和所述交点对应的触摸点在触摸屏坐标系统中的坐标至所述触摸屏应用;然后,按照一定时间间隔继续发送所述交点对应的触摸点在触摸屏坐标系统中的坐标,直至模拟触摸的操作被停止和/或所述交点消失(即所述射线与所述虚拟屏幕没有交点),发送触摸屏被松开的消息至所述触摸屏应用。

例如,在VR设备的手柄上设有按键,该按键用于模拟触摸操作,则触控操作过程为:该按键被按下时,模拟触摸的操作被触发,如果此时所述射线与所述虚拟屏幕存在交点,则发送触摸屏被按压的消息和所述交点对应的触摸点在触摸屏坐标系统中的坐标至所述触摸屏应用;按照一定时间间隔继续发送所述交点对应的触摸点在触摸屏坐标系统中的坐标,直到按键被松开或所述交点消失中的至少一种情况发生;按键被松开或所述交点消失代表触摸屏被松开,发送触摸屏被松开的消息至所述触摸屏应用。

通常来说,在设计VR设备时,近平面中心一般正对用户双目中心。所以在一个实施例中,可以在近平面中心上显示一个光标,光标的主要作用是帮助用户进行定位,当光标对准虚拟屏幕时说明所述射线与所述虚拟屏幕存在交点。

参考图2所示说明本发明第二实施例提供的在虚拟屏幕中实现触摸屏应用的方法,包括以下步骤:

201、将触摸屏应用显示在虚拟屏幕上。

202、检测从近平面中心发出的、向远平面中心延伸的射线是否碰撞在所述虚拟屏幕上以及所述碰撞点在所述虚拟屏幕中的位置。

203、根据所述碰撞点在所述虚拟屏幕中的位置确定所述碰撞点对应的触摸点在触摸屏坐标系统中的坐标。

如果可视空间内还有另一虚拟物体更靠近近平面并且挡住虚拟屏幕,从近平面中心发出的、向远平面中心延伸的射线可能会先碰撞在可视空间内最先遇到的虚拟物体上,然后才和虚拟屏幕有交点;在第二实施例中,这种情况会被认为是用户并非想要对虚拟屏幕进行操作,通过步骤202的碰撞检测,只有所述射线碰撞在虚拟屏幕上才会执行后续动作,避免了对虚拟屏幕的误操作。

进一步的,如果模拟触摸的操作被触发并且所述射线碰撞在所述虚拟屏幕上,则发送触摸屏被按压的消息和所述碰撞点对应的触摸点在触摸屏坐标系统中的坐标至所述触摸屏应用;然后,按照一定时间间隔继续发送所述碰撞点对应的触摸点在触摸屏坐标系统中的坐标,直至模拟触摸的操作被停止和/或所述碰撞点消失(即所述射线没有碰撞在所述虚拟屏幕上),发送触摸屏被松开的消息至所述触摸屏应用。

例如,在VR设备的手柄上设有按键,该按键用于模拟触摸操作,则触控操作过程为:当该按键被按下时,模拟触摸的操作被触发,如果此时所述射线碰撞在所述虚拟屏幕上,则发送触摸屏被按压的消息和所述碰撞点对应的触摸点在触摸屏坐标系统中的坐标至所述触摸屏应用;按照一定时间间隔继续发送所述碰撞点对应的触摸点在触摸屏坐标系统中的坐标,直到按键被松开或所述碰撞点消失中的至少一种情况发生;按键被松开或所述碰撞点消失代表触摸屏被松开,发送触摸屏被松开的消息至所述触摸屏应用。

通常来说,在设计VR设备时,近平面中心一般正对用户双目中心。所以在一个实施例中,可以在近平面中心上显示一个光标,光标可以辅助用户进行定位。

对于本领域技术人员来说,可以通过硬件方式、软件方式或软硬件结合的方式实现前述在虚拟屏幕中实现触摸屏应用的方法。基于同一发明构思,参考图3和图4介绍本发明实施例的在实景地图中显示方向看板的系统,以执行前述在实景地图中显示方向看板的方案。

参考图3所示,在虚拟屏幕中实现触摸屏应用的系统,包括以下模块:

触摸屏应用显示模块11,用于将触摸屏应用显示在虚拟屏幕中的虚拟屏幕上。

交点检测模块12,用于检测从近平面中心发出的、向远平面中心延伸的射线与所述虚拟屏幕是否存在交点以及所述交点在所述虚拟屏幕中的位置。

触摸点坐标确定模块13,用于根据所述交点在所述虚拟屏幕中的位置确定所述交点对应的触摸点在触摸屏坐标系统中的坐标。

触摸控制模块14,用于如果模拟触摸的操作被触发并且所述射线与所述虚拟屏幕存在交点,则发送触摸屏被按压的消息和所述交点对应的触摸点在触摸屏坐标系统中的坐标至所述触摸屏应用;按照一定时间间隔继续发送所述交点对应的触摸点在触摸屏坐标系统中的坐标,直至模拟触摸的操作被停止和/或所述交点消失;发送触摸屏被松开的消息至所述触摸屏应用。

可选地,所述虚拟屏幕位于可视空间中最靠近近平面的位置

可选地,所述虚拟屏幕由三角形虚拟屏幕拼成,所述交点检测模块12,用于采用射线和三角形交叉检测算法检测所述射线与所述三角形虚拟屏幕的相交情况,确定所述射线与所述虚拟屏幕是否存在交点以及所述交点在所述虚拟屏幕中的位置。

参考图4所示,在虚拟屏幕中实现触摸屏应用的系统,包括以下模块:

触摸屏应用显示模块21,用于将触摸屏应用显示在虚拟屏幕中的虚拟屏幕上。

碰撞检测模块22,用于检测从近平面中心发出的、向远平面中心延伸的射线是否碰撞在所述虚拟屏幕上以及所述碰撞点在所述虚拟屏幕中的位置。

触摸点坐标确定模块23,用于根据所述碰撞点在所述虚拟屏幕中的位置确定所述碰撞点对应的触摸点在触摸屏坐标系统中的坐标。

触摸控制模块24,如果模拟触摸的操作被触发并且所述射线碰撞在所述虚拟屏幕上,则发送触摸屏被按压的消息和所述碰撞点对应的触摸点在触摸屏坐标系统中的坐标至所述触摸屏应用;按照一定时间间隔继续发送所述碰撞点对应的触摸点在触摸屏坐标系统中的坐标,直至模拟触摸的操作被停止和/或所述碰撞点消失;发送触摸屏被松开的消息至所述触摸屏应用。

通过本发明的技术方案,为触摸屏设计的应用也可以在虚拟现实设备上使用,扩大了虚拟现实设备的应用范围。

参考图5所示,说明本发明实施例提供的VR设备的硬件配置。VR设备300可以包括处理器3010、存储器3020、接口装置3030、操作杆/按键3040、显示装置3050、通信装置3060、扬声器3070、麦克风3080等。

存储器3020用于存储指令,该指令用于控制处理器3010进行操作以执行前述在虚拟屏幕中实现触摸屏应用的方法。

处理器3010例如可以是中央处理器CPU、微处理器MCU等。存储器3020例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置3030例如包括USB接口、耳机接口等。通信装置3040例如能够进行有线或无线通信。显示装置3050例如是液晶显示屏等。操作杆/按键3040可供用户输入命令。用户可以通过扬声器3070和麦克风3080输入/输出语音信息。

图5所示的VR设备仅是解释性的,并且决不是为了要限制本发明的应用或用途。

本发明实施例所提供的在虚拟屏幕中实现触摸屏应用的系统和VR设备,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。但本领域技术人员应当清楚的是,上述各实施例可以根据需要单独使用或者相互结合使用。另外,对于装置实施例而言,由于其是与方法实施例相对应,所以描述得比较简单,相关之处参见方法实施例的对应部分的说明即可。以上所描述的系统实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可是不是物理上分开的。

另外,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。本发明实施例所提供的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的范围之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

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