应用程序测试方法、装置及电子设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用程序测试方法、装置及电子设备。
背景技术
为了提高普通应用程序的稳定性和健壮性,往往需要对应用程序进行monkey测试。近几年,虚拟现实(Virtual Reality,VR)技术在众多领域得到了广泛的应用,例如,建筑、医疗、影视等。用户使用VR设备观看影像,可以达到身临其境的感觉。针对于VR设备的VR应用程序也得到了空前的发展。为了保证VR应用程序的稳定性和健壮性,同样需要对VR应用程序进行monkey测试。
但现有技术中的monkey测试方式只适用于具有2D场景的应用程序,而对于具有3D场景的VR应用程序并不适用。因此,如何实现对VR应用程序的monkey测试就成为一个亟待解决的问题。
发明内容
有鉴于此,本发明实施例提供一种应用程序测试方法、装置及电子设备,用以实现对VR应用程序的测试。
本发明实施例提供一种应用程序测试方法,包括:
响应于对虚拟现实应用程序的测试指令,获取激励事件在屏幕上对应的激励位置;
根据所述激励位置确定射线发射方向;
根据所述发射方向自预设起始发射位置向虚拟现实场景中发射射线,所述虚拟现实场景与所述虚拟现实应用程序对应;
从所述虚拟现实场景中获取与所述射线对应的响应物体;
执行所述响应物体对应的响应事件。
可选地,所述从所述虚拟现实场景中获取与所述射线对应的响应物体之前,还包括:
自所述预设起始发射位置发射多条视野参考射线;
根据所述射线是否包含于所述多条视野参考射线中来确定所述射线是否位于用户当前的视野范围内;
所述从所述虚拟现实场景中获取与所述射线对应的响应物体,包括:
若所述射线位于用户当前的视野范围内,则从所述虚拟现实场景中获取与所述射线对应的响应物体。
可选地,所述从所述虚拟现实场景中获取与所述射线对应的响应物体,包括:
在所述射线上确定与所述预设起始发射位置相距预设测试距离值的坐标位置;
若所述虚拟现实场景中存在与所述坐标位置对应的物体,并且所述物体具有与所述激励事件对应的所述响应事件,则确定所述物体为所述响应物体。
可选地,所述从所述虚拟现实场景中获取与所述射线对应的响应物体,包括:
从所述虚拟现实场景中获取位置位于所述射线上的物体;
按照相距所述预设起始发射位置的距离由小到大的顺序,确定所述物体中距离最小且具有与所述激励事件对应的所述响应事件的物体为所述响应物体。
可选地,所述从所述虚拟现实场景中获取位置位于所述射线上的物体,包括:
自一倍预设距离步长到N倍预设距离步长,以逐次增加M倍的方式,在所述射线上逐次确定与所述预设起始发射位置相距当前倍数预设距离步长的坐标位置,N>M≥1;
若所述虚拟现实场景中存在与所述坐标位置对应的物体,则所述物体是位于所述射线上的物体。
可选地,所述获取激励事件在屏幕上对应的激励位置之前,还包括:
获取虚拟现实设备的屏幕的分辨率;
根据所述分辨率生成激励位置集合;
所述获取激励事件在屏幕上对应的激励位置,包括:
从所述激励位置集合中选择出激励事件在屏幕上对应的激励位置。
本发明实施例提供一种应用程序测试装置,包括:
第一获取模块,响应于对虚拟现实应用程序的测试指令,获取激励事件在屏幕上对应的激励位置;
方向确定模块,用于根据所述激励位置确定射线发射方向;
实际射线发射模块,用于根据所述发射方向自预设起始发射位置向虚拟现实场景中发射射线,所述虚拟现实场景与所述虚拟现实应用程序对应;
第二获取模块,用于从所述虚拟现实场景中获取与所述射线对应的响应物体;
执行模块,用于执行所述响应物体对应的响应事件。
本发明实施例提供一种电子设备,包括:存储器,以及与所述存储器连接的处理器;
所述存储器,用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理器调用执行;
所述处理器,用于执行所述一条或多条计算机指令以上述应用程序测试方法中的任意一种方法。
本发明实施例提供的应用程序测试方法、装置及电子设备,获取测试指令中包括的激励事件在虚拟现实设备显示屏幕上对应的激励位置。根据此激励位置确定与此激励位置对应的一条射线的发射方向,并在虚拟现实设备显示的虚拟现实场景中按照此发射方向以及预设起始发射位置发射射线。确定在虚拟现实场景中与此发射射线对应的可以响应激励事件的响应物体,上述也即是将位于屏幕上的一个激励位置映射到的虚拟现实场景中的一个响应物体的过程。最终,虚拟显示设备执行此响应物体对应的响应事件,执行响应事件后,虚拟现实场景中的物体会产生相应的响应结果,从而实现对虚拟现实应用程序进行测试,保证了VR应用程序的稳定性和健壮性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的应用程序测试方法实施例一的流程图;
图2为本发明实施例提供的应用程序测试方法实施例二的流程图;
图3为本发明实施例提供的应用程序测试方法实施例三的流程图;
图4为本发明实施例提供的应用程序测试装置实施例一的结构示意图;
图5为本发明实施例提供的应用程序测试装置实施例二的结构示意图;
图6为本发明实施例提供的应用程序测试装置实施例三的结构示意图;
图7为本发明实施例提供的电子设备实施例一的结构示意图;
图8为本发明实施例提供的虚拟现实设备的内部配置结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述XXX,但这些XXX不应限于这些术语。这些术语仅用来将XXX彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一XXX也可以被称为第二XXX,类似地,第二XXX也可以被称为第一XXX。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
正如背景技术中提到的,为了保证应用程序的稳定性和健壮性,通常需要对应用程序进行测试。对于应用程序的测试可以理解为:应用程序在响应于测试指令后,此应用程序是否可以对激励事件产生正确的响应。另外,本发明中涉及到的应用程序为具有交互属性的虚拟现实应用程序。
基于此,图1为本发明实施例提供的应用程序测试方法实施例一的流程图,本实施例提供的该应用程序测试方法的执行主体可以为虚拟现实设备,如图1所示,该方法包括如下步骤:
S101,响应于对虚拟现实应用程序的测试指令,获取激励事件在屏幕上对应的激励位置。
用户可以在虚拟现实设备的屏幕上触发测试操作,安装于虚拟现实设备上的测试程序在响应于用户发出的测试操作后,可以向安装于虚拟现实设备上的虚拟现实应用程序发送测试指令。为了简便后续的描述,可以将进行测试的虚拟现实应用程序称为VR应用程序。可选地,VR应用程序可以是VR游戏应用程序,也可以是其他能够与用户进行交互操作的VR应用程序,本发明并不对VR应用程序的类型进行限定。同时,可选地,在VR应用程序的界面中可以提供一个测试按钮,用户可以通过点击此测试按钮来触发测试操作。
虚拟现实设备响应于测试指令,可以根据测试指令获取激励事件在虚拟现实设备屏幕上对应的激励位置,其中,获取到的此激励位置可以是包含在测试指令中的。可选地,激励位置可以以二维坐标的形式来表示。并且,此二维坐标对应于预设坐标系,此预设坐标系的坐标原点可以是虚拟现实设备屏幕的左上角,预设坐标系的X轴和Y轴可以分别为屏幕的长和宽所在的方向。另外,在对VR应用程序进行测试时,可选地,测试方式可以选择常用的monkey测试,此时,测试指令也相应为monkey测试指令。
S102,根据激励位置确定射线发射方向。
S103,根据发射方向自预设起始发射位置向虚拟现实场景中发射射线,虚拟现实场景与虚拟现实应用程序对应。
虚拟现实设备可以利用测试指令中包括的激励位置以及预设方向确定函数确定与此激励位置对应的射线的发射方向,可选地,预设方向确定函数可以为:Camera.main.ScreenPointToRay(testing.posotion),其中,testing.posotion为步骤S101中获取到的激励位置。在确定出射线的发射方向后,自预设起始发射位置按照此发射方向向虚拟现实场景中发射一条射线,此射线与此激励位置对应。
S104,从虚拟现实场景中获取与射线对应的响应物体。
S105,执行响应物体对应的响应事件。
由于每个根据测试指令获取的激励位置在虚拟场景中都会产生一条对应的射线,因此,针对任一条射线而言,可以根据射线以及虚拟场景中所有响应物体的坐标位置,获取在虚拟场景中与此射线对应的响应物体。具有对应关系的射线和响应物体可以理解为射线照射到响应物体上。
可以根据以下描述理解虚拟现实场景中出现的物体:按照物体的可交互属性可以将出现在虚拟现实场景中的物体划分为响应物体和非响应物体。在用户发出交互操作后,虚拟现实场景中根据交互操作能够产生相应响应结果的物体为响应物体,而不能够产生响应结果的物体为非响应物体。
可选地,虚拟现实设备可以根据以下描述获取前述提及的响应物体的坐标位置:在虚拟现实场景搭建完成后,可以将虚拟现实场景中响应物体的坐标位置记录到配置文件中,也可以将全部物体的坐标位置以及各个物体的类型记录到配置文件中。虚拟现实设备便可以通过读取配置文件来获取响应物体的坐标位置。
在获取射线对应的响应物体后,虚拟现实设备会执行与此响应物体对应的响应事件,执行的结果可以表现为响应物体的显示形式发生变化,此时便完成了针对此激励事件的VR应用程序的测试。其中,响应事件是对激励事件作用于响应物体上后,响应物体响应于激励时间进后得到的一个事件。以“植物大战僵尸”的交互游戏为例,虚拟场景中的响应物体为僵尸,当虚拟现实设备确定出与激励事件对应与虚拟场景中的某一僵尸后,虚拟现实设备执行此响应事件,此僵尸会从虚拟场景中消失也即是响应物体的显示形式发生变化。
本实施例中,虚拟现实设备响应于VR应用程序的测试指令,获取测试指令中包括的激励事件在虚拟现实设备显示屏幕上对应的激励位置。根据此激励位置确定与此激励位置对应的一条射线的发射方向,并在虚拟现实设备显示的虚拟现实场景中按照此发射方向以及预设起始发射位置发射射线。确定在虚拟现实场景中与此发射射线对应的可以响应激励事件的响应物体,上述也即是将位于屏幕上的一个激励位置映射到的虚拟现实场景中的一个响应物体的过程。最终,虚拟显示设备执行此响应物体对应的响应事件,执行响应事件后,虚拟现实场景中的物体会产生相应的响应结果,从而实现对虚拟现实应用程序进行测试,保证了VR应用程序的稳定性和健壮性。
在实际应用中,由于获取的激励位置是由测试程序随机生成的,对于安装与不同虚拟现实设备上的VR应用程序测来说,并不能保证每个激励位置都能产生一个有效的测试结果,从而降低VR应用程序测试的效率。
图2为本发明实施例提供的应用程序测试方法实施例二的流程图,如图2所示,该方法包括如下步骤:
S201,获取虚拟现实设备的屏幕的分辨率。
S202,根据分辨率生成激励位置集合。
S203,响应于对虚拟现实应用程序的测试指令,从激励位置集合中选择出激励事件在屏幕上对应的激励位置。
虚拟现实设备可以从设备系统中存储的配置文件中直接获取虚拟现实设备屏幕的分辨率。可选地,此配置文件可以是存储有虚拟现实设备相关配置参数的配置文件。
然后,虚拟现实设备便可以进一步地根据获取的屏幕分辨率生成激励位置集合,具体的生成方法可以参见以下描述。可选地,当虚拟现实设备的分辨率为A×B时,可以将A×B个像素中每个像素所在的位置都作为一个激励位置,并由这些激励位置组成激励位置集合。可选地,还可以在屏幕的分辨率所界定的区域中预先设置激励位置集合中激励位置的数目,激励位置可以由测试程序随机生成,并由随机生成的预设数目的激励位置组成激励位置集合。在实际应用中,激励位置集合中激励位置的数目可以直接设置为一个固定的值,也可以根据屏幕分辨率所界定区域的大小进行设置,也即是利用区域的大小与激励位置数目之间的对应关系进行设置。
虚拟现实设备响应于测试指令后,便可以从激励位置集合中选择出激励事件在屏幕上对应的激励位置。
S204,根据激励位置确定射线发射方向。
S205,根据发射方向自预设起始发射位置向虚拟现实场景中发射射线,虚拟现实场景与虚拟现实应用程序对应。
上述步骤S204-S205执行过程与前述实施例的相应步骤相似,可以参见如图1所示实施例中的相关描述,在此再不赘述。
另外,在利用本发明方法对VR应用程序进行测试时,为了实现使用户可以更加直观的了解测试结果的效果,这就要求根据激励位置发射到虚拟现实场景中的设定都是要处于用户视野范围内的。因此,可选地,在步骤S206之前,该应用程序测试方法还可以通过执行以下步骤来确定根据激励位置发射的射线是否位于用户的视野范围内。
首先,自预设起始发射位置发射多条视野参考射线。
进而,根据射线是否包含于多条视野参考射线中来确定射线是否位于用户当前的视野范围内。若射线位于用户当前的视野范围内,则从虚拟现实场景中获取与射线对应的响应物体。
具体地,在虚拟现实设备响应于VR程序的测试指令后,可以在用户视野范围内的虚拟现实场景中自预设起始发射位置发射多条视野参考射线。虚拟现实设备可以获取到这些视野参考射线的发射方向,再将步骤S204中获取的射线发射方向与多条视野参考射线的发射方向进行比较。若多条视野参考射线的发射方向中包含根据激励位置发射的射线的发射方向,则表明根据激励位置发射的射线位于用户当前的视野范围内。此时,步骤S205中根据激励位置发射的射线就会和与此射线具有相同发射方向的一条视野参考射线相重合。
S206,从虚拟现实场景中获取与射线对应的响应物体。
S207,执行响应物体对应的响应事件。
上述步骤S206-S207执行过程与前述实施例的相应步骤相似,可以参见如图1所示实施例中的相关描述,在此再不赘述。
本实施例中,与激励事件对应的激励位置集合中的激励位置都是预先生成的,并且激励位置是根据安装有VR应用程序的虚拟现实设备的屏幕分辨率生成的,也即是使虚拟现实设备与激励位置之间存在对应关系。这样使得VR应用程序测试过程中使用到的激励位置都是有效的,不会出现生成的激励位置超出屏幕的情况,从而导致此激励位置无法进行VR应用程序的测试,这也相应地提高了测试的效率。另外,为了使用户可以更加直观的观看到VR应用程序测试的结果,可以将根据激励位置发射的射线的发射方向与在用户视野范围内的多条视野参考射线的发射方向进行比对,进而从根据激励位置发射的射线中筛选出位于用户视野范围内的射线。再根据在视野范围内的射线确定响应物体,虚拟现实设备会执行响应物体对应的激励事件,用户便可以通过虚拟现实设备直接观看到VR应用程序的测试结果。
在对VR应用程序进行测试的过程中,只有在获取到响应物体后,虚拟现实设备才能执行响应对应的响应事件,从而得到一个测试结果。技术人员可以通过测试结果来评估VR应用程序的稳定性和健壮性。因此,如何从虚拟现实场景中获取与根据激励位置发射的射线对应的响应物体就显得尤为重要。
在实施例一和二的基础上,图3为本发明实施例提供的应用程序测试方法实施例三的流程图,如图3所示,在步骤“根据所述发射方向自预设起始发射位置向虚拟现实场景中发射射线”之后,可以通过执行以下步骤来确定在虚拟现实场景中与根据激励位置发射的射线对应的响应物体:
S301,在射线上确定与预设起始发射位置相距预设测试距离值的坐标位置。
S302,若虚拟现实场景中存在与坐标位置对应的物体,并且物体具有与激励事件对应的响应事件,则确定物体为响应物体。
虚拟现实设备可以在根据激励位置产生的射线上确定一个坐标位置,此坐标位置与射线的预设起始发射位置之间具有预设测试距离。此预设测试距离可以跟VR应用程序的不同进行自由设置。可选地,本实施例和上述实施例中涉及的预设起始发射位置以及坐标位置都可以表现为三维坐标。
若在虚拟场景中存在与此坐标位置对应的物体,则需要再进一步判断此物体是否是响应物体。具体地,可以通过判断此物体是否具有与激励事件对应的响应事件来确定此物体是否为响应物体。可选地,在建立虚拟现实场景时可以对能够产生响应事件的物体添加特定标识。而当物体具有此特定标识时,表明此物体具有与激励事件对应的响应事件,最终,确定此物体为响应物体。这种确定响应物体的方式通常具有计算量小的特点。
为了避免出现由于预设测试距离值设置不恰当而不能确定出响应物体,进而容易出现激励位置无效的情况,可选地,虚拟现实设备还可以通过执行以下步骤来确定响应物体:
首先,从虚拟现实场景中获取位置位于射线上的物体。
进而,按照相距预设起始发射位置的距离由小到大的顺序,确定物体中距离最小且具有与激励事件对应的响应事件的物体为响应物体。
具体地,在实际应用中,位于某条射线上的物体可能存在不止一个的情况。针对此情况,可以根据多个物体在虚拟现实场景中的坐标位置,分别计算多个物体到预设起始发射位置之间的距离,再将距离值由大到小排列。然后,再判断此距离预设起始发射位置最近的物体是否是响应物体,具体判断方式可以参见上述描述,在此不再赘述。此种确定响应物体的方式相较于上述方式来说,虽然计算量有所增加,但是可以确定出更大范围内的响应物体,降低无效激励位置产生的几率。
在通过方式确定响应物体过程中,可选地,虚拟现实设备可以通过执行以下步骤来获取位置位于射线上的物体:
自一倍预设距离步长到N倍预设距离步长,以逐次增加M倍的方式,在射线上逐次确定与预设起始发射位置相距当前倍数预设距离步长的坐标位置,N>M≥1。若虚拟现实场景中存在与坐标位置对应的物体,则物体是位于射线上的物体。
具体地,虚拟现实设备可以预先设置距离步长,获取在此射线上距离预设起始发射位置分别M倍预设距离步长,2M倍预设距离步长,……NM倍预设距离步长处的坐标位置,其中N>M≥1,N与M之间可以具有倍数关系。可选地,通过读取虚拟现实设备中记录有虚拟现实场景中各个物体坐标位置的配置文件,来确定在虚拟场景中根据预设距离步长得到的坐标位置是否对应于一个物体。如果根据预设距离步长得到的坐标位置与配置文件中记录的坐标位置相同,则表明虚拟场景中存在此坐标位置对应的物体。
在实际应用中,可以将预设距离步长以及M值设置的较小,这样便可以精确地得到位于射线上的物体,避免出现由于射线上物体确定的不准确而当而不能准确确定出响应物体,进而容易出现激励位置无效的情况。
本实施例中,在VR应用程序测试的过程中,提供了多种用于获取响应物体的方式,并且不同的方式具有不同的优势。在实际应用中,可以根据需要测试的VR应用程序的不同,选择不同的方式来获取响应物体,提高了VR应用程序测试的灵活性以及准确性。
图4为本发明实施例提供的应用程序测试装置实施例一的结构示意图,如图4所示,该应用程序测试装置包括:第一获取模块11、方向确定模块12、射线发射模块13、第二获取模块14和执行模块15。
第一获取模块11,响应于对虚拟现实应用程序的测试指令,获取激励事件在屏幕上对应的激励位置。
方向确定模块12,用于根据激励位置确定射线发射方向。
实际射线发射模块13,用于根据发射方向自预设起始发射位置向虚拟现实场景中发射射线,虚拟现实场景与虚拟现实应用程序对应。
第二获取模块14,用于从虚拟现实场景中获取与射线对应的响应物体。
执行模块15,用于执行响应物体对应的响应事件。
图4所示装置可以执行图1所示实施例的方法,本实施例未详细描述的部分,可参考对图1所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1所示实施例中的描述,在此不再赘述。
图5为本发明实施例提供的应用程序测试装置实施例二的结构示意图,如图5所示,在图4所示实施例基础上,该应用程序测试装置还包括:参考射线发射模块21和范围确定模块22。
视野参考射线发射模块21,用于自预设起始发射位置发射多条视野参考射线。
范围确定模块22,用于根据射线是否包含于多条视野参考射线中来确定射线是否位于用户当前的视野范围内。
第二获取模块14,具体用于若射线位于用户当前的视野范围内,则从虚拟现实场景中获取与射线对应的响应物体。
可选地,该应用程序测试装置还包括:第三获取模块23和生成模块24。
第三获取模块23,用于获取虚拟现实设备的显示屏的分辨率。
生成模块24,用于根据分辨率生成激励位置集合。
第一获取模块11,还用于从激励位置集合中选择出激励事件在屏幕上对应的激励位置。
图5所示装置可以执行图2所示实施例的方法,本实施例未详细描述的部分,可参考对图2所示实施例的相关说明。该技术方案的执行过程和技术效果参见图2所示实施例中的描述,在此不再赘述。
图6为本发明实施例提供的应用程序测试装置实施例三的结构示意图,如图6所示,在图4所示实施例基础上,该应用程序测试装置中的第二获取模块14具体包括:第一确定单元141和第二确定单元142。
第一确定单元141,用于在射线上确定与预设起始发射位置相距预设测试距离值的坐标位置。
第二确定单元142,用于若虚拟现实场景中存在与坐标位置对应的物体,并且物体具有与激励事件对应的响应事件,则确定物体为响应物体。
可选地,该应用程序测试装置中的第二获取模块14具体还包括:
获取单元143,用于从虚拟现实场景中获取位置位于射线上的物体。
第三确定单元144,用于按照相距预设起始发射位置的距离由小到大的顺序,确定物体中距离最小且具有与激励事件对应的响应事件的物体为响应物体。
可选地,该应用程序测试装置中的获取单元143具体用于:
自一倍预设距离步长到N倍预设距离步长,以逐次增加M倍的方式,在射线上逐次确定与预设起始发射位置相距当前倍数预设距离步长的坐标位置,N>M≥1。
若虚拟现实场景中存在与坐标位置对应的物体,则物体是位于射线上的物体。
图6所示装置可以执行图3所示实施例的方法,本实施例未详细描述的部分,可参考对图3所示实施例的相关说明。该技术方案的执行过程和技术效果参见图3所示实施例中的描述,在此不再赘述。
以上描述了应用程序测试装置的内部功能和结构,在一个可能的设计中,应用程序测试装置的结构可实现为一电子设备,该电子设备比如为虚拟现实设备。图7为本发明实施例提供的电子设备实施例一的结构示意图,如图5所示,该电子设备包括:存储器31,以及与存储器连接的处理器32,存储器31用于存储电子设备执行上述任一实施例中提供的应用程序测试方法的程序,处理器32被配置为用于执行存储器31中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被处理器32执行时能够实现如下步骤:
响应于对虚拟现实应用程序的测试指令,获取激励事件在屏幕上对应的激励位置;
根据激励位置确定射线发射方向;
根据发射方向自预设起始发射位置向虚拟现实场景中发射射线,虚拟现实场景与虚拟现实应用程序对应;
从虚拟现实场景中获取与射线对应的响应物体;
执行响应物体对应的激励事件。
可选地,处理器32还用于执行前述各方法步骤中的全部或部分步骤。
其中,电子设备的结构中还可以包括通信接口33,用于电子设备与其他设备或通信网络通信。
图8为本发明实施例提供的一种虚拟现实设备的内部配置结构示意图。
显示单元401可以包括显示面板,显示面板设置在虚拟现实设备400上面向用户面部的侧表面,可以为一整块面板、或者为分别对应用户左眼和右眼的左面板和右面板。显示面板可以为电致发光(Electroluminescent,简称EL)元件、液晶显示器或具有类似结构的微型显示器、或者视网膜可直接显示或类似的激光扫描式显示器。
虚拟图像光学单元402以放大方式拍摄显示单元401所显示的图像,并允许用户按放大的虚拟图像观察所显示的图像。作为输出到显示单元401上的显示图像,可以是从内容再现设备(蓝光光碟或DVD播放器)或流媒体服务器提供的虚拟场景的图像、或者使用外部相机410拍摄的现实场景的图像。一些实施例中,虚拟图像光学单元402可以包括透镜单元,例如球面透镜、非球面透镜、菲涅尔透镜等。
输入操作单元403包括至少一个用来执行输入操作的操作部件,例如按键、按钮、开关或者其他具有类似功能的部件,通过操作部件接收用户指令,并且向控制单元407输出指令。
状态信息获取单元404用于获取穿戴虚拟现实设备400的用户的状态信息。状态信息获取单元404可以包括各种类型的传感器,用于自身检测状态信息,并可以通过通信单元405从外部设备,例如智能手机、腕表和用户穿戴的其它多功能终端,获取状态信息。状态信息获取单元404可以获取用户的头部的位置信息和/或姿态信息。状态信息获取单元404可以包括陀螺仪传感器、加速度传感器、全球定位系统(Global Positioning System,简称GPS)传感器、地磁传感器、多普勒效应传感器、红外传感器、射频场强度传感器中的一个或者多个。此外,状态信息获取单元404获取穿戴虚拟现实设备400的用户的状态信息,例如获取用户的操作状态(如用户是否穿戴虚拟现实设备400)、用户的动作状态(诸如静止、行走、跑动和诸如此类的移动状态,手或指尖的姿势、眼睛的开或闭状态、视线方向、瞳孔尺寸)、精神状态(用户是否沉浸在观察所显示的图像以及诸如此类的),甚至生理状态。
通信单元405执行与外部装置的通信处理、调制和解调处理、以及通信信号的编码和解码处理。另外,控制单元407可以从通信单元405向外部装置发送传输数据。通信方式可以是有线或者无线形式,例如移动高清链接(Mobile High-Definition Link,简称MHL)或通用串行总线(Universal Serial Bus,简称USB)、高清多媒体接口(High DefinitionMultimedia Interface,简称HDMI)、无线保真(Wireless Fidelity,简称Wi-Fi)、蓝牙通信或低功耗蓝牙通信,以及IEEE802.11s标准的网状网络等。另外,通信单元105可以是根据宽带码分多址(Wideband Code Division Multiple Access,简称W-CDMA)、长期演进(LongTerm Evolution,简称LTE)和类似标准操作的蜂窝无线收发器。
一些实施例中,虚拟现实设备400还可以包括存储单元,存储单元406是配置为具有固态驱动器(Solid State Drives,简称SSD)等的大容量存储设备。一些实施例中,存储单元406可以存储应用程序或各种类型的数据。例如,用户使用虚拟现实设备400观看的内容可以存储在存储单元406中。
一些实施例中,虚拟现实设备400还可以包括控制单元,控制单元407可以包括计算机处理单元(Central Processing Unit,简称CPU)或者其他具有类似功能的设备。一些实施例中,控制单元407可以用于执行存储单元406存储的应用程序,或者控制单元407还可以用于执行本申请一些实施例公开的方法、功能和操作的电路。
图像处理单元408用于执行信号处理,比如与从控制单元407输出的图像信号相关的图像质量校正,以及将其分辨率转换为根据显示单元401的屏幕的分辨率。然后,显示驱动单元404依次选择显示单元401的每行像素,并逐行依次扫描显示单元401的每行像素,因而提供基于经信号处理的图像信号的像素信号。
一些实施例中,虚拟现实设备400还可以包括外部相机。外部相机410可以设置在虚拟现实设备400主体前表面,外部相机410可以为一个或者多个。外部相机410可以获取三维信息,并且也可以用作距离传感器。另外,探测来自物体的反射信号的位置灵敏探测器(Position Sensitive Detector,简称PSD)或者其他类型的距离传感器可以与外部相机410一起使用。外部相机410和距离传感器可以用于检测穿戴虚拟现实设备400的用户的身体位置、姿态和形状。另外,一定条件下用户可以通过外部相机410直接观看或者预览现实场景。
一些实施例中,虚拟现实设备400还可以包括声音处理单元,声音处理单元411可以执行从控制单元407输出的声音信号的声音质量校正或声音放大,以及输入声音信号的信号处理等。然后,声音输入/输出单元412在声音处理后向外部输出声音以及输入来自麦克风的声音。
需要说明的是,图8中粗线框示出的结构或部件可以独立于虚拟现实设备400之外,例如可以设置在外部处理系统,例如计算机系统,中与虚拟现实设备400配合使用;或者,虚线框示出的结构或部件可以设置在虚拟现实设备400内部或者表面上。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以产品的形式体现出来,该计算机产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。