一种虚拟现实VR设备及其用户界面UI事件的处理方法与流程

文档序号:11949818阅读:477来源:国知局
一种虚拟现实VR设备及其用户界面UI事件的处理方法与流程

本发明涉及视频技术领域,特别涉及一种虚拟现实VR设备及其用户界面(User Interface,简称UI)事件的处理方法。



背景技术:

虚拟现实(Virtual Reality,简称VR)技术是仿真技术的一个重要方向,是仿真技术与计算机图形学人机接口技术、多媒体技术、传感技术、网络技术等多种技术的集合,是一门富有挑战性的交叉技术前沿学科和研究领域。虚拟现实技术主要包括模拟环境、感知、自然技能和传感设备等方面。

随着虚拟现实技术的不断发展,虚拟现实头戴显示器设备得到了极大的应用,虚拟现实头戴显示器设备简称VR设备或VR头显或VR眼镜,利用VR设备将用户对外界的视觉封闭,引导用户产生一种身在虚拟环境中的感觉,能够提供给用户立体真实的视觉效果。

目前,VR设备可分为三类:外接式头戴设备、一体式头戴设备、以及移动端头显设备。其中,外接式头戴设备具备独立屏幕,产品结构复杂;一体式头戴设备,也叫VR一体机,无需借助任何输入输出设备就可以呈现虚拟现实的视觉效果;移动端头显设备,需要借助外接设备(如手机),将外接设备中的虚拟现实的视觉效果呈现给用户,结构简单。

VR设备中如何处理用户触发的UI事件,目前还没有解决方案。



技术实现要素:

本发明实施例提供了一种虚拟现实VR设备及其UI事件的处理方法,解决了现有VR设备中如何处理用户触发的UI事件,目前还没有解决方案的问题。

针对现有技术存在的问题,本发明实施例提供了一种虚拟现实VR设备中UI事件的处理方法,包括:

VR设备在VR应用启动后,通过所述VR应用的VR主线程接收UI事件;

所述VR设备通过所述VR应用中的VR子线程处理所述UI事件。

针对现有技术存在的问题,本发明实施例提供了一种计算机可读存储介质,其中存储有可执行的程序代码,该程序代码用以实现上述的方法。

针对现有技术存在的问题,本发明实施例提供了虚拟现实VR设备,所述设备包括:

第一处理模块,用于在VR应用启动后,通过所述VR应用的VR主线程接收UI事件;

第二处理模块,用于通过所述VR应用中的VR子线程处理所述UI事件。

本发明实施例提供一种虚拟现实VR设备及其UI事件的处理方法中,由于在VR应用中定义了VR主线程,以使VR应用启动后,VR设备可以通过所述VR主线程直接接收用户触发的UI事件;由于在VR应用中定义了VR子线程,以使VR设备在通过所述VR主线程接收到UI事件后,可以通过所述VR子线程处理该UI事件,从而实现了在VR设备中处理UI事件。

附图说明

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

图1为本发明实施例提供的一种虚拟现实VR设备中UI事件的处理方法的流程示意图;

图2为本发明实施例提供的一种虚拟现实VR设备的示意图。

具体实施方式

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

本发明实施例中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。

下面结合说明书附图对本发明实施例作进一步详细描述。应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。

图1所示的实施例中,提供了一种虚拟现实VR设备中用户界面UI事件的处理方法该方法包括:

步骤11、VR设备在VR应用启动后,通过所述VR应用的VR主线程接收UI事件。

其中,所述UI事件包括但不限于以下事件中的至少一种:

按键事件(KeyEvent)、触摸事件(MotionEvent)。

举例说明,用户可以通过按动VR设备提供的按键,触发UI事件;还可以通过触摸VR设备提供的触控区域,触发UI事件。

步骤12、所述VR设备通过所述VR应用中的VR子线程处理所述UI事件。

本发明实施例中,由于在VR应用中定义了VR主线程,以使VR应用启动后,VR设备可以通过所述VR主线程直接接收用户触发的UI事件;由于在VR应用中定义了VR子线程,以使VR设备在通过所述VR主线程接收到UI事件后,可以通过所述VR子线程处理该UI事件,从而实现了在VR设备中处理UI事件。

本发明实施例中,VR应用中定义一个VR主线程。

本发明实施例中,VR应用中定义至少一个VR子线程,用于处理VR应用运行过程中生成的不同UI事件。例如,对于VR应用中的界面显示,由用于负责显示的VR子线程来处于界面显示过程中生成的UI事件。又如,对于VR应用中的视频播放,则由用于负责视频播放的VR子线程来处于视频播放过程中生成的UI事件。

基于上述任一实施例,一种可能的实施方式中,S11中所述VR设备通过所述VR应用的VR主线程接收UI事件之后,所述方法还包括:

所述VR设备将所述UI事件,缓存在所述VR主线程中;

所述VR设备通过所述VR主线程,将所述UI事件透传给所述VR子线程,其中,所述UI事件按照先入先出(First Input First Output)的方式透传。

该方式中,所述VR设备通过所述VR主线程,将所述UI事件透传给所述VR子线程。相应的,所述VR子线程在接收到所述VR设备通过所述VR主线程发送的UI事件后,对所述UI事件进行相应的处理。其中,所述VR主线程不对接收到的UI事件进行解析或处理,只需缓存接收到的UI事件并按照先入先出的方式透传给VR子线程。

其中,先入先出的方式是指先缓存到所述VR主线程中的UI事件,先透传给所述VR子线程。

举例说明,在VR应用启动后,VR设备将通过所述VR应用的VR主线程接收到的第一个事件(记为事件1)缓存至所述VR主线程的队列中的第一个位置,将通过所述VR应用的VR主线程接收到的第二个事件(记为事件2)缓存至所述VR主线程的队列中的第二个位置,依此类推。所述VR设备通过所述VR主线程先将事件1透传给所述VR应用的VR子线程,此时,事件2移至所述队列中的第一个位置,事件3移至所述队列中的第二个位置,依此类推;再将事件2透传给所述VR应用的VR子线程,此时,事件3移至所述队列中的第一个位置,事件4移至所述队列中的第二个位置,依此类推。

需要说明的是,在所述VR主线程中缓存UI事件和通过所述VR主线程透传已缓存的UI事件是并行进行的。

该方式中,若所述VR应用中包括至少两个VR子线程,所述VR设备通过所述VR主线程,将所述UI事件透传给所述VR子线程时,可以采用以下方式实现:

方式1、所述VR设备从所述至少两个VR子线程中,确定能够处理所述UI事件的VR子线程;以及所述VR设备通过所述VR主线程,将所述UI事件透传给所确定的VR子线程。

方式1中在通过所述VR主线程透传UI事件之前,所述VR设备先确定能够处理该UI事件的VR子线程,通过所述VR主线程将该UI事件仅透传给能够处理该UI事件的VR子线程,降低了VR主线程与VR子线程之间的信令开销。

基于上述实施例,一种可能的实施方式中,S11中所述VR设备通过所述VR应用的VR主线程接收UI事件之后,所述方法还包括:

所述VR设备将所述UI事件,缓存在所述VR主线程中;

所述VR设备通过所述VR子线程,按照先入先出的方式,读取所述VR主线程缓存的UI事件。

该方式中,所述VR设备在所述VR主线程的队列中缓存UI事件,由所述VR子线程从所述VR主线程的队列中按照先入先出的方式,读取UI事件,并进行相应的处理。

该方式中,所述VR子线程每读取一个UI事件,先判断是否需要处理该UI事件;若是,则处理该UI事件;若否,则忽略该UI事件。

该方式中,可选的,若VR子线程的数量为多个,则所述VR设备通过当前运行的VR子线程,按照先入先出的方式,读取所述VR主线程缓存的UI事件。

本发明实施例中涉及的VR设备可以为外接式头戴设备、一体式头戴设备、或者移动端头显设备。本发明实施例不对VR设备的具体结构进行限定。

上述方法处理流程可以用软件程序实现,该软件程序可以存储在存储介质中,当存储的软件程序被调用时,执行上述方法步骤。

基于同一发明构思,图2所示的实施例中,提供了一种虚拟现实VR设备,由于该设备解决问题的原理与图1所示的方法实施例相似,因此该设备的实施可以参见方法的实施,重复之处不再赘述。图2所示的VR设备,包括:

第一处理模块21,用于在VR应用启动后,通过所述VR应用的VR主线程接收UI事件;

第二处理模块22,用于通过所述VR应用中的VR子线程处理所述UI事件。

一种可能的实施方式中,所述第一处理模块还用于:

将所述UI事件,缓存在所述VR主线程中;

通过所述VR主线程,将所述UI事件透传给所述VR子线程,其中,所述UI事件按照先入先出的方式透传。

一种可能的实施方式中,若所述VR应用中包括至少两个VR子线程,所述第一处理模块具体用于:

从所述至少两个VR子线程中,确定能够处理所述UI事件的VR子线程;以及所述VR设备通过所述VR主线程,将所述UI事件透传给所确定的VR子线程。

一种可能的实施方式中,所述第一处理模块还用于:

将所述UI事件,缓存在所述VR主线程中;

通过所述VR子线程,按照先入先出的方式,读取所述VR主线程缓存的UI事件。

一种可能的实施方式中,所述UI事件包括按键事件和/或触摸事件

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

以上所描述的装置实施例中,第一处理模块21和第二处理模块22是以功能模块的形式来呈现。这里的“模块”可以指特定应用集成电路(application-specific integrated circuit,ASIC),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到第一处理模块21可以通过具有计算和逻辑处理功能的处理器、存储器和输入/输出接口来实现,第二处理模块22可以通过具有计算和逻辑处理功能的处理器、存储器和输入/输出接口来实现。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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