基于虚拟现实场景的输入方法及装置与流程

文档序号:11676952阅读:420来源:国知局
基于虚拟现实场景的输入方法及装置与流程

本申请涉及计算机应用领域,尤其涉及一种基于虚拟现实场景的输入方法及装置。



背景技术:

vr(virtualreality,虚拟现实)技术,是一种综合利用计算机图形系统和各种控制接口,在计算机上生成可交互的三维交互环境,面向用户提供沉浸感的技术。随着vr技术以及硬件的进步,vr技术的应用场景也越来越丰富。然而,vr技术虽然可以面向用户提供逼真的沉浸感,但用户在佩戴vr终端进行沉浸体验时,在vr场景中完成信息输入通常会存在困难,因而如何在vr场景中面向用户提供更新人性化的信息输入,对于提升用户体验将具有十分重要的意义。



技术实现要素:

本申请提出一种基于虚拟现实场景的输入方法,应用于虚拟现实客户端,所述虚拟现实客户端输出的虚拟现实场景中包括三维输入界面,所述方法包括:

识别用户在所述虚拟现实场景中的三维手势;

当识别出用户的三维手势时,确定识别出的所述的三维手势是否为预设三维手势;

如果识别出的所述三维手势为所述预设三维手势,计算所述三维手势对应于所述三维输入界面的操作位置;

选中所述三维输入界面中与所述操作位置对应的虚拟输入元件,并读取所述虚拟输入元件所指示的输入信息完成输入。

本申请还提出一种基于虚拟现实场景的输入装置,应用于虚拟现实客户端,所述虚拟现实客户端输出的虚拟现实场景中包括三维输入界面,所述装置包括:

识别模块,识别用户在所述虚拟现实场景中的三维手势;

判断模块,当识别出用户的三维手势时,确定识别出的所述的三维手势是否为预设三维手势;

计算模块,如果识别出的所述三维手势为所述预设三维手势,计算所述三维手势对应于所述三维输入界面的操作位置;

输入模块,选中所述三维输入界面中与所述操作位置对应的虚拟输入元件,并读取所述虚拟输入元件所指示的输入信息完成输入。

本申请中,通过在虚拟现实场景中输出一个三维输入界面,并识别用户在虚拟现实场景中的三维手势,当识别出的三维手势为预设三维手势时,可以计算该三维手势对应于虚拟现实场景中的三维输入界面的操作位置,并选中该三维输入界面中与该操作位置对应的虚拟输入元件,然后读取该虚拟输入元件所指示的输入信息完成输入,实现了用户在佩戴虚拟现实终端进行沉浸体验时,可以通过三维手势,在虚拟现实场景中快速的完成信息的输入,从而可以提升用户的输入体验。

附图说明

图1是本申请一实施例示出的基于vr场景的输入方法的流程图;

图2是本申请一实施例示出的一种“三维空气键盘”的示意图;

图3是本申请一实施例示出的一种“三维数字魔方键盘”的示意图;

图4是本申请一实施例示出的若干种可用于选中并触发vr场景中的虚拟元件的三维手势;

图5是本申请一实施例提供的一种基于vr场景的输入装置的逻辑框图;

图6是本申请一实施例提供的承载所述一种基于vr场景的输入装置的vr客户端所涉及的硬件结构图。

具体实施方式

在相关技术中,用户在佩戴vr终端进行沉浸体验时,如果需要在vr场景中执行信息输入,目前主要通过以下两种方案来实现:

在第一种方案中,用户可以取下佩戴的vr终端,使用与vr终端对接的pc主机,或者移动终端(比如用户的手机)来完成信息的输入。

例如,以需要插入用户手机的滑佩式vr头盔为例,假设用户在佩戴该vr头盔进行vr购物体验时,需要输入支付密码对订单完成支付,此时可以取下佩戴的该vr头盔,并取下插入在vr头盔中的手机,通过手机来输入支付密码完成订单支付。

在第二种方案中,用户可以使用与vr终端搭配的外接设备,比如操纵杆、手柄等,来控制vr场景中的操作焦点,将操作焦点移动到虚拟现实场景中用于信息输入的虚拟元件的位置上,然后点击外接设备上提供的选中按钮,选中并触发该虚拟元件,来完成信息的输入;

在第三方案中,可以预先设置一个超时时长,用户可以通过头部姿态或者手势,来控制操作焦点的位置,在将操作焦点移动到虚拟现实场景中用于信息输入的虚拟元件的位置上后,可以使该操作焦点在该虚拟元件的位置上保持悬停,并在悬停时间达到该超时时长后,选中并触发该虚拟元件,来完成信息输入。

例如,假设用户在佩戴该vr头盔进行vr购物体验时,需要输入支付密码对订单完成支付,此时用户可以选择使用预先完成充值的虚拟货币来完成支付;在这种情况下,在虚拟现实场景中可以提供一个“使用虚拟币支付”的虚拟按钮。

在一种实现方式中,用户可以通过操作操纵杆或者手柄等外接设备,通过控制vr场景中的操作焦点,将操作焦点移动到该虚拟按钮的位置上,然后通过点击操纵杆或者手柄等外接设备上提供的选中按钮,来选中并触发该虚拟按钮,使用虚拟货币来完成订单的支付;

在另一种实现方式中,可以预先设定一个超时时长,用户可以通过头部姿态或者手势,来控制操作焦点的位置,当将操作焦点移动到该虚拟按钮的位置上后,可以使操作焦点在该虚拟按钮上保持悬停,当悬停时间达到该超时时长时,可以选中并触发该虚拟按钮,使用虚拟货币来完成订单的支付。

然而,对于以上示出的第一种方案,在进行信息的输入时,用户无法在vr场景中完成信息的输入,需要用户取下佩戴的vr终端,因此会中断用户的vr沉浸体验,影响用户体验。

对于以上示出的第二种方案,由于在进行信息的输入时,vr终端需要搭配操纵杆、手柄等外接设备,因此会增加硬件成本。

对于以上示出的第三种方案,由于用户将操作焦点悬停在虚拟元件上后,需要等待一个悬停的超时时长,才能够完成信息的输入,因此无法实现信息的快速输入,导致信息的输入效率较低,影响用户体验。

有鉴于此,本申请提出一种基于虚拟现实场景的输入方法,通过在虚拟现实场中输出一个三维输入界面,并识别用户在虚拟现实场景中的三维手势,当识别出的三维手势为预设三维手势时,可以计算该三维手势对应于虚拟现实场景中的三维输入界面的操作位置,并选中该三维输入界面中与该操作位置对应的虚拟输入元件,然后读取该虚拟输入元件所指示的输入信息完成输入,实现了用户在在佩戴虚拟现实终端进行沉浸体验时,可以通过三维手势,在虚拟现实场景中快速的完成信息的输入,从而可以提升用户的输入体验。

下面通过具体实施例并结合具体的应用场景对本申请进行描述。

请参考图1,图1是本申请一实施例提供的一种基于虚拟现实场景的输入方法,应用于vr客户端,所述vr输出的虚拟现实场景中包括三维输入界面,执行以下步骤:

步骤101,识别用户在所述虚拟现实场景中的三维手势;

步骤102,当识别出用户的三维手势时,确定识别出的所述的三维手势是否为预设三维手势;

步骤103,如果识别出的所述三维手势为所述预设三维手势,计算所述三维手势对应于所述三维输入界面的操作位置;

步骤104,选中所述三维输入界面中与所述操作位置对应的虚拟输入元件,并读取所述虚拟输入元件所指示的输入信息完成输入。

上述vr客户端,是指基于vr技术开发的可以面向用户提供三维沉浸体验的客户端软件;比如,基于vr的app;上述vr客户端,可以将开发人员开发出的虚拟现实场景模型,通过与vr客户端对接的vr终端,向用户输出,从而使得佩戴vr终端的用户,能够在虚拟现实场景中得到三维沉浸体验。

上述三维手势,是指vr终端通过预设的传感硬件,识别出的具有深度信息的用户手势;其中,上述深度信息,通常是指用户的手势相对于虚拟现实场景的z轴的坐标信息;例如,对于立体空间中的一个点,通过三维坐标通常可以表示为(x,y,z),在这种情况下,这个点对应的z轴的坐标值,就可以称之为相对于x轴和y轴的深度信息。

上述三维输入界面,是指在虚拟现实场景中输出的,用于进行信息输入的三维界面。在该三维输入界面中可以包含若干虚拟输入元件,每一个虚拟输入元件可以指示一个对应的输入信息。

例如,在示出的一种实施方式中,上述三维输入界面可以是一个三维输入键盘。在这种情况下,上述若干虚拟输入元件,可以是该三维输入键盘中所包含的多干虚拟按键,每一个虚拟按键分别指示一个对应的输入字符。

在本例中,为了使用户在在佩戴vr终端进行沉浸体验时,能够在vr场景中快速的完成信息的输入,可以在vr场景中输出三维输入界面,用户在佩戴vr终端进行沉浸体验时,可以在vr场景中执行特定的三维手势操作,通过三维手势触发上述三维输入界面中的虚拟输入元件,快速的完成输入。

以下通过vr场景模型创建,三维手势识别,以及信息输入三个阶段,对本申请的技术方案进行详细描述。

1)vr场景模型创建

在本例中,开发人员可以通过特定的建模工具,完成vr场景模型的创建。上述建模工具,在本例中不进行特别的限定;例如,开发人员可以使用诸如unity、3dsmax、photoshop等较为成熟的建模工具完成vr场景模型的创建。

其中,开发人员在通过建模工具创建vr场景模型的过程中,该vr场景模型,以及该vr场景的纹理贴图,都可来源于现实生活中的真实场景;例如,可以事先通过摄像,采集材质纹理贴图,和真实场景的平面模型,然后通过photoshop或3dmax等建模工具,来处理纹理和构建真实场景的三维模型,然后导入到unity3d平台(简称u3d),在u3d平台中通过音效、图形界面、插件、灯光等多个维度进行画面渲染,然后编写交互代码,最后完成vr场景模型的建模。

在本例中,开发人员除了需要创建vr场景模型以外,为了使用户能够在vr场景中快速的完成信息输入,还可以通过上述建模工具,在上述vr场景模型中,创建一个用于在vr场景中进行信息输入的三维输入界面。

例如,在示出的一种实施方式中,上述三维输入界面,可以是一个三维虚拟键盘,在该三维虚拟键盘中可以包括若干虚拟按键,用户在佩戴vr终端进行沉浸体验时,可以通过这些三维虚拟键盘,在vr场景中快速的完成诸如密码等信息的输入。

其中,上述三维输入界面的具体形态,在本例中不进行特别限定;在实际应用中,可以基于用户体验进行个性化定制。

例如,在示出的一种实现方式中,上述三维输入界面可以是一“三维空气键盘”。

请参见图2,图2为本例中示出的一种“三维空气键盘”的示意图。

在图2所示出的“三维空气键盘”,可以包括一平铺在vr场景的用户视野中的三维虚拟键盘,在该三维虚拟键盘中包括若干三维的虚拟按键,用户可以在vr场景中,通过特定的三维手势选中相应的虚拟按键,来完成密码等数字信息的输入;比如,图2中示出的为用户在虚拟按键“3”所在的位置上执行“点击手势”,选中虚拟按键“3”,来完成3这一数字的输入。

在示出的另一种实现方式中,上述三维输入界面也可以是一“三维数字魔方键盘”。

请参见图3,图3为本例中示出的一种“三维数字魔方键盘”的示意图。

在图3所示出的“三维数字魔方键盘”,可以包括一魔方外形的立方体,该立方体的每一个面上包括若干个虚拟按键,其中,每一个虚拟按键上所指示的数字可以随机显示。用户可以在vr场景中,通过三维手势,在该“三维数字魔方键盘”中面向用户视野的那一面上选中相应的虚拟按键,然后向任意方向旋转该“三维数字魔方键盘”,来完成密码等数字信息的输入;比如,图3中示出的为用户在虚拟按键“9”所在位置执行“向右侧旋转的手势”选中虚拟按键“9”,来完成9这一数字的输入。

需要说明的是,如图2和图3所示出的三维输入界面的形态,仅为示意性的。显然,在实际应用中,上述三维输入界面的形态并不仅仅限定于图2和图3所示出的形态,在本例中不再进行一一列举。

在本例中,当开发人员完成vr场景模型,以及上述三维输入界面的建模后,上述vr客户端可以将上述vr场景模型以及上述三维输入界面,通过与上述vr客户端对接的vr终端(比如vr头盔),向用户输出。

其中,需要说明的是,在默认情况下,上述vr客户端可以仅向用户输出上述vr场景模型,当用户在vr场景中进行沉浸体验的过程中,需要执行信息输入时,再通过用户执行的预设三维手势的触发,在上述vr场景中输出上述三维输入界面。

在示出的一种实施方式中,在默认状态下,上述vr场景中,可以提供一预设的虚拟触发元件(比如虚拟按钮),该虚拟触发元件用于触发在该vr场景中输出上述三维输入界面。

当用户在vr场景中进行沉浸体验的过程中,需要执行信息输入时,可以通过特定的三维手势选中该虚拟触发元件,然后触发vr客户端在该vr场景中输出上述三维输入界面。

例如,假设用户通过佩戴vr终端进行vr购物体验。在这种场景中,上述虚拟触发元件,可以是一个“购买/支付”的虚拟按钮;上述三维输入界面,可以是一个包含三维虚拟键盘的“3d收银台”界面。当用户选择了一件满意的商品,需要在vr场景中购买该商品,并完成订单的支付时,可以通过特定的三维手势选中上述“购买/支付”的虚拟按钮,此时vr客户端可以在该vr场景中输出上述“3d收银台”。在这种情况下,用户可以通过特定的三维手势,继续在该收银台界面中的三维虚拟键盘中,选中并触发相应的虚拟按键,来输入支付密码,完成该商品的购买。

2)三维手势识别

在本例中,用户可以通过在vr场景中,执行特定的三维手势,来选中该vr场景中提供的虚拟元件(比如虚拟按钮,可操作控件,以及页面等)。

其中,上述特定的三维手势,在本例中不进行特别限定,可以是较为简单的三维手势(比如简单的点击手势),也可以是较为复杂的三维手势(比如特定的用于选中虚拟元件的手势),可以是静态的三维手势(比如利用手部做出特定的姿势),也可以是动态的三维手势(比如抓握,拖动,旋转,等等),在本例中不再进行一一列举,在实际应用中,可以基于实际的需求进行个性化定制;例如,不同的vr内容提供商,可以分别自定义不同的三维手势,以体现与其它vr内容提供商的差异化。

请参见图4,图4为本例示出的若干种可用于选中并触发vr场景中的虚拟元件的三维手势。

需要说明的是,图4示出的若干种可用于选中并触发vr场景中的虚拟元件的三维手势,仅为示例性的。显然,在实际应用中,也可以定义图4中示出的三维手势以外的其它类型的三维手势,来选中并触发vr场景中的虚拟元件。

在本例中,用户在通过佩戴vr终端进行沉浸体验时,上述vr客户端可以通过vr终端上搭载的传感硬件,并结合预设的三维手势识别算法,来识别用户在vr场景中所执行的三维手势。

在示出的一种实施方式中,上述vr客户端可以通过搭载在上述vr终端上的传感硬件,来实时的跟踪用户的手部位移,由上述传感硬件对用户的手部位移数据进行采集,并将采集到的用户的手部位移数据回传给上述vr客户端。

其中,上述手部位移数据,具体可以是指用户手部在完成特定的三维手势时的位置坐标、运动轨迹等数据。

当上述vr客户端获取到上述传感硬件采集到的上述用户的手部位移数据后,可以基于预设的手势识别算法,针对获取到的该手部位移数据进行计算,以识别出用户的三维手势。

其中,上述vr客户端在基于上述手势识别算法,识别用户的三维手势时,首先可以基于获取到的上述用户的手部位移数据,计算出该用户的手部,相对于vr场景的x/y/z轴的旋转量以及偏移量。

其中,针对x/y/z轴的旋转量,可以是指用户的手部在执行特定的三维手势时,用户手部上预先选定出的特征点,分别以x/y/z轴为旋转轴,相对于x/y/z轴所旋转的偏离角度。而上述偏移量,可以是指用户的手部在执行特定的三维手势时,用户手部上预先选定出的特征点,相对于x/y/z轴所偏离的水平距离。

通过获取用户的首部相对于vr场景的x/y/z轴的旋转量以及偏移量,将旋转量以及偏移量这两个维度相结合,可以正确的获取到用户的手部在执行三维手势的过程中的深度信息。

当上述vr客户端通过上述手势识别算法,计算出用户的手部,相对于vr场景的x/y/z轴的旋转量以及偏移量后,可以基于得到的该旋转量以及偏移量,进行三维建模。其中,具体的建模算法,在本例中进行特别限定。

由于上述旋转量以及偏移量,可以表征用户的手部在执行三维手势的过程中的深度信息,因此基于该深度信息进行三维建模,能够正确的对用户的三维手势进行还原。

当基于上述旋转量以及偏移量进行三维建模,成功创建出用户的三维手势模型后,此时针对用户的三维手势识别完成,上述三维手势模型即为最终的三维手势识别结果。

其中,需要说明的是,上述传感硬件,具体可以包括红外传感器、图像传感器、激光传感器、雷达传感器,等等,在本例中不进行特别限定。

例如,在vr技术的常规实现中,在识别用户的三维手势时,通常可以通过诸如tof(timeofflight,飞行时间)方案、双摄像头双目成像方案、结构光方案、以及微型雷达方案来实现。

以基于双摄像头双目成像方案来识别用户的三维手势时,上述传感硬件可以是图像传感器,在这种方案中,上述vr客户端可以通过双摄像头的图像传感器实时的跟踪用户的手部位移,并采集用户的手部位移数据,然后基于上述手势识别算法对用户的手部位移数据进行计算,计算出该用户的手部,相对于vr场景的x/y/z轴的旋转量以及偏移量,然后基于得到的旋转量和偏移量进行三维建模,得到最终的三维手势模型。

当然,除了以上示出的基于双摄像头双目成像来识别用户的三维手势的方案以外,在实际应用中,也可以采用tof方案、结构光方案、微型雷达方案来实现。当基于tof方案来识别用户的三维手势时,上述传感硬件则可以是红外传感器。当基于结构光方案来识别用户的三维手势时,上述传感硬件可以是激光传感器。当基于结微型雷达方案来识别用户的三维手势时,上述传感硬件可以是雷达传感器。

其中,基于tof方案、结构光方案、以及微型雷达方案来识别用户的三维手势的详细实现过程,与基于双摄像头双目成像的方案在原理上相同,都是基于手部位移跟踪,计算出用户手部相对于vr场景的x/y/z轴的旋转量以及偏移量等深度信息,来进行三维建模,在本例中不再详述,本领域技术人员在将本申请的技术方案付诸实施时,可以参考相关技术中的记载。

在本例中,由于用户在佩戴vr终端进行沉浸体验的过程中,受限于vr终端对用户的裸眼视觉的遮挡,用户并不能实时的观看到的自己手部所执行的三维手势;因此,在这种情况下,可能会对用户所执行的三维手势的准确度造成影响,造成用户沉浸于vr场景中时,所执行的三维手势不够准确。

为了避免这种问题,上述vr客户端还可以在vr场景中输出一与用户的三维手势对应的操作焦点(也可以称之为视觉焦点),并控制该操作焦点,与用户在vr场景中所执行的三维手势同步的进行位移;

例如,在实现时,上述vr客户端,可以根据上述传感硬件通过实时跟踪用户的手部,而采集到的手部位移数据,来实时计算用户的手部对应于上述vr场景中的操作位置,然后根据用户的手部对应于上述vr场景中的操作位置,来控制上述操作焦点的位移,从而实现操作焦点,与用户的三维手势的同步位移。

另外,为了使用户能够在vr场景中的用户视野中,更加直观的观察到用户手部执行的三维手势,在一种实现方式中,上述操作焦点具体可以是一模拟用户的三维手势的动画。

例如,上述vr客户端在基于用户手部的深度信息进行三维建模,成功创建出与用户的三维手势对应的三维手势模型后,由于该三维手势模型通常准确记录了用户的手部的位置坐标、位移变化等参数,因此可以利用该三维手势模型来渲染出一个对应的三维手势动画,并将该三维手势动画作为上述操作焦点,与用户的三维手势同步位移。

可见,通过这种方式,用户沉浸在vr场景中时,可以通过vr场景中的用户视野中输出的操作焦点,实时准确的查看到自己手部当前正在执行的三维手势,从而可以提升用户执行的三维手势的准确度,用户在该操作焦点的提示下,可以及时对手势进行校正,以降低由于手势不准确而造成的误输入的概率。

在本例中,vr客户端可以预先定义用于对vr场景中的虚拟元素进行选中的预设三维手势。当vr客户端识别出用户的三维手势时,还可以进一步识别该三维手势是否为上述预设三维手势,来决策是否选中相应的虚拟元件。

其中,在识别三维手势是否为预设三维手势时,可以通过三维手势模型之间的精准匹配来实现;

例如,vr客户端可以预先保存用于匹配的上述预设三维手势模型,当识别出用户的三维手势后,可以从该三维模型对应的三维手势模型,以及上述预设三维手势模型上,分别选定若干个相对应的特征点,然后逐一匹配各特征点对应于上述虚拟现实场景的x/y/z轴的旋转量以及偏移量是否相同,来识别上述三维手势是否为预设三维手势;如果各特征点对应于上述虚拟现实场景的x/y/z轴的旋转量以及偏移量均相同,则可以确定上述三维手势为预设三维手势。

当然,在实际应用中,由于用户在vr场景中执行预设三维手势时,通常无法做到精准匹配(即用户执行的三维手势与预设三维手势百分之百相同),因此,在这种情况下,vr客户端在识别用户的三维手势是否为预设三维手势时,除了以上描述的通过三维手势模型之间的精准匹配来实现以外,也可以通过确定三维手势模型之间的相似度是否达到预设阈值来实现;

例如,当vr客户端识别出用户的三维手势后,可以基于预设的相似度算法计算该三维手势对应的三维手势模型,与预设三维手势模型之间的相似度,然后判断计算出的相似度是否达到预设阈值;如果是,则可以确定用户的三维手势为预设三维手势;

其中,上述相似度算法在本例中不进行特别限定,本领域技术人员在将本申请的技术方案付诸实施时,可以参考相关技术的记载;另外,上述预设阈值的大小,在本例中也不进行特别限定,本领域技术人员可以基于实际的需求进行设置;例如,当对三维手势识别时的相似度要求较高时,可以将上述预设阈值设置为一个较大的值;当对三维手势识别时的相似度要求较低时,可以将上述预设阈值设置为一个较小的值。

3)信息输入

在本例中,当vr客户端识别出用户的三维手势为预设三维手势时,此时vr客户端可以计算该三维手势对应于vr场景的操作位置,然后选中vr场景中与该操作位置对应的虚拟元件。

例如,vr客户端仍然可以根据上述传感硬件通过实时跟踪用户的手部,而采集到的手部位移数据,来实时计算用户的手部对应于上述vr场景中的操作位置。当计算出该操作位置后,vr客户端可以查找vr场景中与该操作位置对应的虚拟元件,然后选中该虚拟元件。

当然,在实际应用中,vr客户端除了可以通过上述传感硬件采集到的手部位移数据,来实时计算用户的手部对应于上述vr场景中的操作位置以外,如果当前vr场景中已经输出了与用户的三维手势对应的操作焦点,那么也可以直接通过定位该操作焦点的位置,来确定用户的手部对应于上述vr场景中的操作位置;在这种情况下,vr客户端可以直接查找该操作焦点在vr场景中指示的虚拟元件,然后选中该虚拟元件。

其中,为了降低用户在执行预设三维手势时,由于该三维手势的持续时间过长而造成的误操作,在示出的一种实施方式中,vr客户端还可以预设一个用于表征三维手势是否有效的预设的时长阈值。当vr客户端在识别出用户的三维手势后,还可以计算该三维手势的持续时间(即用户在开始执行手势的时刻,到手势执行完毕的时刻之间的时间差);然后判断该三维手势的持续时间,是否低于上述预设的时长阈值;如果该三维手势的持续时间低于该预设的时长阈值,则确定该三维手势有效,vr客户端可以开始执行后续的识别该三维手势是否为预设三维手势的执行逻辑。当然,如果该三维手势的持续时间等于或者大于该预设的时长阈值,则确定该三维手势无效。

其中,上述预设的时长阈值的具体取值,在本例中不进行特别限定,在实际应用中可以设置为一个较短的时长(比如2秒),从而使得用户可以在较短的时间内快速的执行预设三维手势,来选中vr场景中的虚拟元件,从而可以避免由于用户执行三维手势的持续时间太长,而造成的误操作的问题。

在本例中,如前所述,假设上述vr场景中,预先提供了一预设的虚拟触发元件,该虚拟触发元件用户触发上述vr客户端输出预设的三维输入界面。

在这种情况下,当用户在vr场景中进行沉浸体验时,如果需要执行信息输入,此时用户可以通过将操作焦点移动至该虚拟触发元件所在位置,并使该操作焦点在该虚拟触发元件上保持悬浮;

例如,在实现时,用户可以通过诸如操作杆、手柄等外接设备来控制操作焦点的移动;或者,可以在vr终端上预先安装重力传感器,或者在用户的手部佩戴相应的重力传感装置,继而用户可以通过头部姿态,或者手部的移动,来控制操作焦点的移动。

当该操作焦点在上述虚拟触发元件上保持悬浮后,用户可以在操作焦点指示的位置上执行预设三维手势,vr客户端在识别出用户执行的三维手势为预设三维手势后,由于该操作焦点在上述虚拟触发元件上保持悬停,此时该操作焦点所指示的虚拟元件为该虚拟触发元件,因此vr客户端可以选中该虚拟元件,并触发在上述vr场景中输出上述三维输入界面。

在本例中,当vr终端在vr场景中输出上述三维输入界面后,此时用户可以查看该三维输入界面中各虚拟输入元件所指示的信息,基于自己的输入需求,通过将操作焦点悬浮在相应的虚拟输入元件上,然后执行预设三维手势,来选中该虚拟输入元件。

其中,需要说明的是,用于选中上述虚拟触发元件的预设三维手势,与用于选中上述三维输入界面中的虚拟输入元件的预设三维手势,在实际应用中,可以相同,也可以不同,在本例中不进行特别限定。

vr客户端在识别出用户执行的三维手势为预设三维手势后,vr客户端可以计算该三维手势对应于vr场景的操作位置,然后查找上述三维输入界面中与该操作位置对应的虚拟输入元件,并选中该虚拟输入元件。

其中,为了确保用户能够直观的查看到当前选中的虚拟输入元件,当vr客户端基于用户执行的预设三维手势,选定相应的虚拟输入元件后,还可以在上述三维输入界面中将该虚拟输入元件突出显示;例如,可以在上述三维输入界面中,将选中的虚拟输入元件高亮显示。

在本例中,当上述三维输入界面中的虚拟元件被选中后,vr客户端可以读取该虚拟输入元件所指示的输入信息,然后基于获取到的该输入信息完成信息的输入。

以此类推,用户可以通过重复以上操作,按顺序选中上述三维输入界面中的多个虚拟输入元件,来完成诸如密码等字符串的输入。

以下结合用户在进行vr购物体验时,在vr场景中输入支付密码完成商品支付的应用场景为例,对本申请的技术方案进行描述。

当然,需要说明的是,上述示出的应用场景仅为示例性的,并不用于限定;显然,在实际应用中本申请的技术方案,也可以应用在其它基于vr场景的信息输入场景;

例如,用户在vr游戏的场景中,输入登录密码完成游戏账号的登录,或者输入支付密码完成游戏币的充值;或者,用户在vr直播场景中,输入支付密码,完成支付对主播进行打赏,等等;在本例中不再一一列举。

在本例中,用户在佩戴vr终端进行vr购物体验时,在vr场景中可以向用户呈现若干可供选择的商品,用户可以通过查看vr场景中提供的商品列表,来选择自己喜欢的商品进行购买。

上述vr场景中除了可以向用户提供商品列表外,在每一个商品对应的位置上还可以提供一个“购买/支付”的虚拟按钮(即上述虚拟触发元件)。当用户在上述商品列表中,选择了一件满意的商品后,可以将操作焦点移动至该“购买/支付”的虚拟按钮所在位置,并使该操作焦点在该“购买/支付”的虚拟按钮上保持悬浮。

当操作焦点在该“购买/支付”的虚拟按钮上保持悬浮后,用户可以执行预设三维手势来选中该“购买/支付”的虚拟按钮。当vr客户端识别出用户执行的三维手势为预设三维手势时,可以选中该“购买/支付”的虚拟按钮,并触发在vr场景中输出“三维虚拟键盘”(即上述三维输入界面)。

其中,输出的该“三维虚拟键盘”可以是如图2所示的“三维空气键盘”,也可以是如图3所示的“三维数字魔方键盘”。

当vr客户端在vr场景中输出上述“三维虚拟键盘”后,用户可以通过将操作焦点移动到相应的“虚拟按键”上,并使该操作焦点在该“虚拟按键”上保持悬浮,然后执行预设三维手势来选中该“虚拟按键”。当vr客户端识别出用户执行的三维手势为预设三维手势时,可以选中该“虚拟按键”,然后读取该“虚拟按键”所指示的数字,完成密码的输入。

以此类推,用户可以通过重复以上操作,按顺序选中上述“三维虚拟键盘”中的多个“虚拟按键”,来完成支付密码的输入。当支付密码输入完成,并且输入的支付密码由相应的支付服务器验证通过后,此时商品购买完成。

通过以上实施例可知,本申请通过在虚拟现实场景中输出一个三维输入界面,并识别用户在虚拟现实场景中的三维手势,当识别出的三维手势为预设三维手势时,可以计算该三维手势对应于虚拟现实场景中的三维输入界面的操作位置,并选中该三维输入界面中与该操作位置对应的虚拟输入元件,然后读取该虚拟输入元件所指示的输入信息完成输入,实现了用户在在佩戴虚拟现实终端进行沉浸体验时,可以通过三维手势,在虚拟现实场景中快速的完成信息的输入,从而可以提升用户的输入体验。

与上述方法实施例相对应,本申请还提供了装置的实施例。

请参见图5,本申请提出一种基于vr场景的输入装置50,应用于虚拟现实客户端,所述虚拟现实客户端输出的虚拟现实场景中包括三维输入界面;

请参见图6,作为承载所述基于vr场景的输入装置50的虚拟现实客户端所涉及的硬件架构中,通常包括cpu、内存、非易失性存储器、网络接口以及内部总线等;以软件实现为例,所述基于vr场景的输入装置40通常可以理解为加载在内存中的计算机程序,通过cpu运行之后形成的软硬件相结合的逻辑装置,所述装置50包括:

识别模块501,识别用户在所述虚拟现实场景中的三维手势;

判断模块502,当识别出用户的三维手势时,确定识别出的所述的三维手势是否为预设三维手势;

计算模块503,如果识别出的所述三维手势为所述预设三维手势,计算所述三维手势对应于所述三维输入界面的操作位置;

输入模块504,选中所述三维输入界面中与所述操作位置对应的虚拟输入元件,并读取所述虚拟输入元件所指示的输入信息完成输入。

在本例中,所述虚拟现实场景中包括预设的虚拟触发元件;所述虚拟触发元件用于触发在所述虚拟现实场景中输出所述三维输入界面;

所述判断模块502进一步:

当识别出用户的三维手势时,确定识别出的所述的三维手势是否为预设三维手势;

所述计算模块503进一步:

如果识别出的所述三维手势为所述预设三维手势,计算所述三维手势对应于所述三维输入界面的操作位置;

所述装置50还包括:

输出模块505(图5中未示出),在所述操作位置与所述虚拟触发元件所在位置对应时,输出所述三维输入界面。

在本例中,所述识别模块501:

通过预设的传感硬件跟踪所述用户的手部位移;

获取所述传感硬件采集到的所述用户的手部位移数据;

基于所述手部位移数据计算所述用户的手部相对于所述虚拟现场场景的x/y/z轴的旋转量以及偏移量;

基于所述旋转量以及所述偏移量进行三维建模,得到对应的三维手势。

在本例中,所述计算模块503进一步:

在计算所述三维手势对应于所述三维输入界面的操作位置之前,计算所述三维手势的持续时间;判断所述三维手势的持续时间是否低于预设阈值;如果所述三维手势的持续时间低于预设阈值,则执行计算所述三维手势对应于所述三维输入界面的操作位置的操作。

在本例中,所述虚拟现实场景中包括对应于所述三维手势的操作焦点;其中,所述操作焦点在所述虚拟现实场景中与所述三维手势同步位移。

在本例中,所述操作焦点为模拟所述三维手势的动画。

在本例中,所述输入模块504进一步:

将选中的所述虚拟输入元件在所述三维输入界面中突出显示。

在本例中,所述三维输入界面为三维虚拟键盘;所述虚拟输入元件为所述三维虚拟键盘中的虚拟按键。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

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