一种三维元素的操纵方法和终端转让专利

申请号 : CN202010565740.5

文献号 : CN111880648B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 蔡文琪李旻豪曹新

申请人 : 华为技术有限公司

摘要 :

本申请请实施例公开了一种三维元素的操纵方法,涉及虚拟现实技术领域,应用于虚拟现实设备、增强现实设备或混合现实设备等。该方法包括:根据用户的手势从三维元素的包围体表面确定交互点,通过基于交互点的手势移动,操纵三维元素以所述包围体的几何中心为参考点进行旋转或缩放,将第一状态的三维元素调整为第二状态显示。由于本方案中交互点基于用户的手势和手势的位置信息确定,可以是包围体表面的任意一点,提高了三维元素操纵时的灵活性,可以提高用户体验。

权利要求 :

1.一种三维元素的操纵方法,其特征在于,包括:终端在虚拟环境中显示第一状态的三维元素;

所述终端获取用户的手势和所述手势的位置信息;

所述终端根据所述手势和所述手势的位置信息确定交互点,所述交互点为所述三维元素的包围体表面的点,所述三维元素的包围体为包围所述三维元素的规则几何体;

所述终端获取基于所述交互点的所述手势的移动信息;

所述终端根据所述移动信息,以所述包围体的几何中心为参考点对所述第一状态的三维元素进行操纵,在所述虚拟环境显示第二状态的三维元素,所述操纵包括旋转或缩放。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

所述终端显示所述包围体和所述交互点。

3.根据权利要求1所述的方法,其特征在于,所述包围体包括包围球;

所述包围体的几何中心为所述包围球的球心。

4.根据权利要求2或3所述的方法,其特征在于,所述包围体呈半透明显示。

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

所述终端显示以所述交互点为坐标原点的坐标系,所述坐标系用于引导用户对所述三维元素进行操纵。

6.根据权利要求5所述的方法,其特征在于,所述包围体为包围球;

所述坐标系为三维笛卡尔坐标系,所述三维笛卡尔坐标系的x轴和z轴与所述包围球相切,所述三维笛卡尔坐标系的y轴过所述包围球的球心并指向所述包围球外部。

7.根据权利要求6所述的方法,其特征在于,所述终端根据所述移动信息,以所述包围体的几何中心为参考点对所述第一状态的三维元素进行操纵,在所述虚拟环境显示第二状态的三维元素具体包括:所述终端根据所述移动信息确定所述手势映射在所述x轴上的第一位移和所述手势映射在所述z轴上的第二位移;

所述终端根据所述第一位移和第二位移确定所述第一状态的三维元素绕所述参考点的旋转方向及角度;

和/或,

所述终端根据所述移动信息确定所述手势映射在所述y轴上的第三位移;

所述终端根据所述第三位移,确定所述第一状态的三维元素的缩放尺寸;

所述终端根据所述旋转方向及角度,和/或所述缩放尺寸,在所述虚拟环境显示所述第二状态的三维元素。

8.根据权利要求5至7中任一项所述的方法,其特征在于,所述方法还包括:

若所述移动信息指示的所述交互点的移动距离大于或等于预设阈值,则所述终端停止显示所述坐标系。

9.根据权利要求1至3或5至7中任一项所述的方法,其特征在于,所述终端根据所述手势和所述手势的位置信息确定所述三维元素外部的包围体和所述包围体表面上的交互点具体包括:若根据所述手势的位置信息确定的所述手势的位置与所述第一状态的三维元素的位置之间的距离小于或等于第一阈值,且所述手势与第一手势数据库中的手势匹配,则所述终端确定所述包围体表面与所述手势距离最近的点为所述交互点。

10.根据权利要求1至3或5至7中任一项所述的方法,其特征在于,所述终端根据所述手势和所述手势的位置信息确定所述三维元素外部的包围体和所述包围体表面上的交互点具体包括:若根据所述手势的位置信息确定的所述手势的位置与所述第一状态的三维元素的位置之间的距离大于或等于第二阈值,且所述手势与第二手势数据库中的手势匹配,所述手势指示第一方向,以所述手势为端点沿所述第一方向的射线与所述第一状态的三维元素存在交点,所述终端根据所述射线确定所述交互点。

11.一种终端,其特征在于,包括:一个或多个处理器和存储器;其中,所述存储器中存储有计算机可读指令;

所述一个或多个处理器读取所述计算机可读指令以使所述终端实现如权利要求1至10中任一项所述的方法。

12.根据权利要求11所述的终端,其特征在于,所述终端包括虚拟现实设备、增强现实设备或混合现实设备。

13.根据权利要求11所述的终端,其特征在于,所述终端包括头戴式显示设备。

14.一种计算机可读存储介质,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算机上运行时,使得所述计算机执行如权利要求1至10中任一项所述的方法。

说明书 :

一种三维元素的操纵方法和终端

技术领域

[0001] 本申请涉及虚拟现实技术领域,尤其涉及一种三维元素的操纵方法和终端。

背景技术

[0002] 虚拟现实(virtual reality,VR)技术是一种可以创建和体验虚拟世界的计算机仿真系统,增强现实(augmented reality,AR)技术是一种可以将虚拟现实和真实世界叠加
并进行互动的技术。随着VR和AR技术的进一步发展,还出现了在虚拟环境中引入现实场景
信息的混合现实(mixed reality,MR)技术等。
[0003] 在VR、AR或MR等场景中,通过集成的图形系统、光学系统、姿态追踪系统和控制系统等构建的虚拟环境获得一种可交互的沉浸式体验。在虚拟环境中,终端与用户通过三维
用户界面(3‑dimension user interface,3D UI)进行交互或信息交换。3D UI是基于人机
交互、操作逻辑、界面美观的整体设计。对3D UI中的三维元素进行操纵,是用户在使用VR、
AR或MR产品时使用频率最高且必须具备的操作能力。
[0004] 现有的三维元素操纵方法通过用户的手势操作实现虚拟界面的控制,具体包括,手光标指向元素物体后,三维元素外显示反馈框,根据用户手势捏合,选中反馈框的一个操
作顶点,移动操作顶点的位置对三维元素进行旋转或缩放。
[0005] 由于现有的三维元素操纵方法,操作顶点位置固定,用户只能对特定的顶点进行操纵,用户体验较差。

发明内容

[0006] 本申请实施例提供了一种三维元素的操纵方法,通过三维元素外部的包围体,方便灵活地对三维元素进行操纵,提升用户体验。
[0007] 本申请实施例的第一方面提供了一种三维元素的操纵方法,包括:终端在虚拟环境中显示第一状态的三维元素;所述终端获取用户的手势和所述手势的位置信息;所述终
端根据所述手势和所述手势的位置信息确定所述三维元素的交互点,所述交互点为所述三
维元素的包围体表面的点,所述三维元素的包围体为包围所述三维元素的规则几何体;所
述终端获取基于所述交互点的所述手势的移动信息;所述终端根据所述移动信息,以所述
包围体的几何中心为参考点对所述第一状态的三维元素进行操纵,在所述虚拟环境显示第
二状态的三维元素,所述操纵包括旋转或缩放。
[0008] 本实施例提供的三维元素的操纵方法,终端可以根据用户的手势从三维元素的包围体表面确定交互点,通过基于交互点的手势移动,操纵三维元素以所述包围体的几何中
心为参考点进行旋转或缩放,将第一状态的三维元素调整为第二状态。由于本方案中交互
点基于用户的手势和手势的位置信息确定,可以是包围体表面的任意一点,提高了三维元
素操纵时的灵活性,可以提高用户体验。
[0009] 所述第二状态的三维元素与所述第一状态的三维元素之间的区别包括以下至少一个:姿态、位置或尺寸。
[0010] 在第一方面的一种可能的实现方式中,所述方法还包括:所述终端显示所述包围体和所述交互点。
[0011] 该方法中,终端显示包围体和交互点,可以让用户直观感受到当前的操纵对象以及用于交互的点,可以减少误操作,提升用户体验。
[0012] 在第一方面的一种可能的实现方式中,所述包围体包括包围球;所述包围体的几何中心为所述包围球的球心。
[0013] 由于球为规则的几何体,球面上任意一点到球心的距离为定值,因此,无论用户选取的交互点位于球面上哪一点进行旋转时,旋转轴长度不变,在仅进行旋转操作时,包围球
的形状不变,可以减少操纵三维元素时终端的计算量。
[0014] 在第一方面的一种可能的实现方式中,所述包围体呈半透明显示。
[0015] 由于包围体位于三维元素外部,呈半透明显示,可以使得终端显示包围球的同时,用户还可以观察到包围球内部的三维元素,在用户对三维元素进行旋转或缩放时,便于确
定三维元素的当前状态是否达到了预期状态,可以提升用户体验。
[0016] 在第一方面的一种可能的实现方式中,所述方法还包括:所述终端显示以所述交互点为坐标原点的坐标系,所述坐标系用于引导用户对所述三维元素进行操纵。
[0017] 该方法中,终端还可以显示以交互点为坐标原点的坐标系,具体地,该坐标系的坐标轴对应于不同的操作功能,该操作功能包括旋转和缩放。坐标系可以指引用户对三维元
素进行操纵,避免用户操作过程中效率低下的问题,提升用户体验。
[0018] 在第一方面的一种可能的实现方式中,所述包围体为包围球;所述坐标系为三维笛卡尔坐标系,所述三维笛卡尔坐标系的x轴和z轴与所述包围球相切,所述三维笛卡尔坐
标系的y轴过所述包围球的球心并指向所述包围球外部。
[0019] 该方法具体介绍了包围体为包围球的场景中,坐标系的形式,可以为三维笛卡尔坐标系,具有相互垂直的三个坐标轴,由于在三维空间中,两个垂直方向的旋转即可实现任
意旋转方向和旋转角度,因此,将与包围球球面相切的两个坐标轴设置为指引三维元素进
行旋转的坐标轴,过所述包围球的球心并指向所述包围球外部的坐标轴用于指引三维元素
的缩放,由此,可以根据该三维坐标系实现对三维元素旋转和缩放的指引,方法简便易于用
户理解,可以提升用户体验。
[0020] 在第一方面的一种可能的实现方式中,所述终端根据所述移动信息,以所述包围体的几何中心为参考点对所述第一状态的三维元素进行操纵,在所述虚拟环境显示第二状
态的三维元素具体包括:所述终端根据所述移动信息确定所述手势映射在所述x轴上的第
一位移和所述手势映射在所述z轴上的第二位移;所述终端根据所述第一位移和第二位移
确定所述第一状态的三维元素绕所述参考点的旋转方向及角度;和/或,所述终端根据所述
移动信息确定所述手势映射在所述y轴上的第三位移;所述终端根据所述第三位移,确定所
述第一状态的三维元素的缩放尺寸;所述终端根据所述旋转方向及角度,和/或所述缩放尺
寸,在所述虚拟环境显示所述第二状态的三维元素。
[0021] 该方法中,可以根据用户手势的移动信息对三维元素进行操纵,具体的,移动信息包括移动方向和移动距离,即位移,基于手势的位移在预设的坐标系每个坐标轴上的映射,
可以确定三维元素的旋转方向和旋转角度,以及缩放尺寸,该方案便捷易于实现,符合用户
习惯,此外,旋转和缩放可以同步实现,简化了用户操作。
[0022] 在第一方面的一种可能的实现方式中,所述方法还包括:若所述移动信息指示的所述交互点的移动距离大于或等于预设阈值,则所述终端停止显示所述坐标系。
[0023] 由于坐标轴用于指引用户操作,在用户已经启动操作(手势移动)之后,其指引目标已经达成,此后,终端即可隐藏坐标系,即停止显示坐标系,避免遮挡用户视野,提升用户
体验。
[0024] 在第一方面的一种可能的实现方式中,所述终端根据所述手势和所述手势的位置信息确定所述三维元素外部的包围体和所述包围体表面上的交互点包括:若根据所述手势
的位置信息确定的所述手势的位置与第一状态的三维元素的位置之间的距离小于或等于
第一阈值,且所述手势与第一手势数据库中的手势匹配,则所述终端确定所述包围体表面
与所述手势距离最近的点为所述交互点。
[0025] 本方案介绍了用户近程操作的场景,可以根据用户的手势与包围体表面的距离确定交互点,简单易于用户理解。
[0026] 在第一方面的一种可能的实现方式中,所述终端根据所述手势和所述手势的位置信息确定所述三维元素外部的包围体和所述包围体表面上的交互点包括:若根据所述手势
的位置信息确定的所述手势的位置与第一状态的三维元素的位置之间的距离大于或等于
第二阈值,且所述手势与第二手势数据库中的手势匹配,所述手势指示第一方向,以所述手
势为端点沿所述第一方向的射线与所述第一状态的三维元素存在交点,所述终端根据所述
射线确定所述交互点。
[0027] 本方案介绍了用户远程操作的场景,终端获取的用户手势与三维元素距离较远时,可以根据用户的手势指向的方向从包围体表面确定交互点,增加了方案实现的灵活性。
[0028] 本申请实施例的第二方面提供了一种终端,包括:显示单元,用于在虚拟环境中显示第一状态的三维元素;获取单元,用于获取用户的手势和所述手势的位置信息;确定单
元,用于根据所述手势和所述手势的位置信息确定所述三维元素的交互点,所述交互点为
所述三维元素的包围体表面的点,所述三维元素的包围体为包围所述三维元素的规则几何
体;所述获取单元,还用于获取基于所述交互点的所述手势的移动信息;所述显示单元,还
用于根据所述移动信息,以所述包围体的几何中心为参考点对所述第一状态的三维元素进
行操纵,在所述虚拟环境显示所述第二状态的三维元素所述操纵包括旋转或缩放虚拟环
境。
[0029] 在第二方面的一种可能的实现方式中,所述显示单元,还用于:显示所述包围体和所述交互点。
[0030] 在第二方面的一种可能的实现方式中,所述包围体包括包围球;所述包围体的几何中心为所述包围球的球心。
[0031] 在第二方面的一种可能的实现方式中,所述显示单元,还用于:显示以所述交互点为坐标原点的坐标系,所述坐标系用于引导用户对所述三维元素进行操纵。
[0032] 在第二方面的一种可能的实现方式中,所述包围体为包围球;所述坐标系为三维笛卡尔坐标系,所述三维笛卡尔坐标系的x轴和z轴与所述包围球相切,所述三维笛卡尔坐
标系的y轴过所述包围球的球心并指向所述包围球外部。
[0033] 在第二方面的一种可能的实现方式中,所述显示单元具体用于:根据所述移动信息确定所述手势映射在所述x轴上的第一位移和所述手势映射在所述z轴上的第二位移;根
据所述第一位移和第二位移确定所述第一状态的三维元素绕所述参考点的旋转方向及角
度;和/或,根据所述移动信息确定所述手势映射在所述y轴上的第三位移;根据所述第三位
移,确定所述第一状态的三维元素的缩放尺寸;根据所述旋转方向及角度,和/或所述缩放
尺寸,在所述虚拟环境显示所述第二状态的三维元素。
[0034] 在第二方面的一种可能的实现方式中,所述显示单元,具体用于若所述移动信息指示的所述交互点的移动距离大于或等于预设阈值,则停止显示所述坐标系。
[0035] 在第二方面的一种可能的实现方式中,所述包围体呈半透明显示。
[0036] 在第二方面的一种可能的实现方式中,所述确定单元具体用于:若根据所述手势的位置信息确定的所述手势的位置与第一状态的三维元素的位置之间的距离小于或等于
第一阈值,且所述手势与第一手势数据库中的手势匹配,则确定所述包围体表面与所述手
势距离最近的点为所述交互点。
[0037] 在第二方面的一种可能的实现方式中,所述确定单元具体用于:若根据所述手势的位置信息确定的所述手势的位置与第一状态的三维元素的位置之间的距离大于或等于
第二阈值,且所述手势与第二手势数据库中的手势匹配,所述手势指示第一方向,以所述手
势为端点沿所述第一方向的射线与所述第一状态的三维元素存在交点,根据所述射线确定
所述交互点。
[0038] 本申请实施例第三方面提供了一种终端,包括:一个或多个处理器和存储器;其中,所述存储器中存储有计算机可读指令;所述一个或多个处理器读取所述存储器中的所
述计算机可读指令以使所述终端实现如上述第一方面以及各种可能的实现方式中任一项
所述的方法。
[0039] 在第三方面的一种可能的实现方式中,所述终端包括虚拟现实设备、增强现实设备或混合现实设备。
[0040] 在第三方面的一种可能的实现方式中,所述终端包括一种头戴式显示设备。本申请实施例第四方面提供了一种包含指令的计算机程序产品,其特征在于,当其在计算机上
运行时,使得所述计算机执行如上述第一方面以及各种可能的实现方式中任一项所述的方
法。
[0041] 本申请实施例第五方面提供了一种计算机可读存储介质,包括指令,其特征在于,当所述指令在计算机上运行时,使得计算机执行如上述第一方面以及各种可能的实现方式
中任一项所述的方法。
[0042] 本申请实施例第六方面提供了一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行上述任一方面任意可能的实现方式中的方法。可选地,该
芯片该包括存储器,该存储器与该处理器通过电路或电线与存储器连接。进一步可选地,该
芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收需要处理的数据和/或
信息,处理器从该通信接口获取该数据和/或信息,并对该数据和/或信息进行处理,并通过
该通信接口输出处理结果。该通信接口可以是输入输出接口。
[0043] 其中,第二方面至第六方面中任一种实现方式所带来的技术效果可参见第一方面中相应实现方式所带来的技术效果,此处不再赘述。
[0044] 从以上技术方案可以看出,本申请实施例具有以下优点:本实施例提供的三维元素的操纵方法,终端可以根据用户的手势从三维元素的包围体表面确定交互点,通过基于
交互点的手势移动,操纵三维元素以所述包围体的几何中心为参考点进行旋转或缩放,将
第一状态的三维元素调整为第二状态。由于本方案中交互点基于用户的手势和手势的位置
信息确定,可以是包围体表面的任意一点,提高了三维元素操纵时的灵活性,可以提高用户
体验。

附图说明

[0045] 图1为本申请实施例的系统架构图;
[0046] 图2为本申请实施例中三维元素的一个示意图;
[0047] 图3为本申请实施例中三维元素操纵方法的一个实施例示意图;
[0048] 图4a为本申请实施例旋转或缩放三维元素的一个示意图;
[0049] 图4b为本申请实施例旋转或缩放三维元素的另一个示意图;
[0050] 图4c为本申请实施例旋转或缩放三维元素的另一个示意图;
[0051] 图4d为本申请实施例旋转或缩放三维元素的另一个示意图;
[0052] 图4e为本申请实施例旋转或缩放三维元素的另一个示意图;
[0053] 图4f为本申请实施例旋转或缩放三维元素的另一个示意图;
[0054] 图4g为本申请实施例旋转或缩放三维元素的另一个示意图;
[0055] 图4h为本申请实施例旋转或缩放三维元素的另一个示意图;
[0056] 图5为本申请实施例中三维元素操纵方法的另一个实施例示意图;
[0057] 图6a为本申请实施例旋转或缩放三维元素的一个示意图;
[0058] 图6b为本申请实施例旋转或缩放三维元素的另一个示意图;
[0059] 图6c为本申请实施例旋转或缩放三维元素的另一个示意图;
[0060] 图6d为本申请实施例旋转或缩放三维元素的另一个示意图;
[0061] 图7为本申请实施例中移动三维元素的方法的一个实施例示意图;
[0062] 图8a为本申请实施例移动三维元素的一个示意图;
[0063] 图8b为本申请实施例移动三维元素的另一个示意图;
[0064] 图9为本申请实施例中终端的一个实施例示意图;
[0065] 图10为本申请实施例中终端的一个结构示意图;
[0066] 图11为本申请实施例中终端的另一个实施例示意图;
[0067] 图12为本申请实施例的一种HMD设备的示意图;
[0068] 图13为本申请实施例的终端的一种软件结构框图。

具体实施方式

[0069] 本申请实施例提供了一种三维元素的操纵方法,通过三维元素外部的包围体,方便灵活地对三维元素进行操纵,提升用户体验。
[0070] 下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场
景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
[0071] 本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情
况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实
施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包
含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或
模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或
模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号
所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以
根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
[0072] 首先对本申请实施例涉及的部分技术术语进行简要介绍:
[0073] 1、虚拟现实(virtual reality,VR)技术利用计算机生成一种模拟环境,使用户沉浸到该虚拟环境中。虚拟现实技术利用现实生活中的数据,通过计算机技术产生的电子信
号,将其与各种输出设备结合使其转化为能够让人们感受到的现象,这些现象可以是现实
中真真切切的物体,也可以是我们肉眼所看不到的物质,通过三维模型表现出来。因为这些
现象不是我们直接所能看到的,而是通过计算机技术模拟出来的现实中的世界,故称为虚
拟现实。
[0074] 2、增强现实(augmented reality,AR)技术是一种将虚拟信息与真实世界巧妙融合的技术,广泛运用了多媒体、三维建模、实时跟踪及注册、智能交互、传感等多种技术手
段,将计算机生成的文字、图像、三维模型、音乐、视频等虚拟信息模拟仿真后,应用到真实
世界中,两种信息互为补充,从而实现对真实世界的“增强”。
[0075] 3、混合现实(mixed reality,MR),是VR和AR技术的进一步发展,通过在虚拟环境中引入现实场景信息,将虚拟世界、现实世界和用户之间搭起一个交互反馈信息的桥梁,从
而增强用户体验的真实感。混合现实一般采用光学透视技术,在人的眼球叠加虚拟图像。
[0076] 4、介导现实(mediated reality)。
[0077] VR技术显示的是单纯的虚拟数字画面,包括AR在内的mixed reality是虚拟数字画面+裸眼现实,而mediated reality是数字化现实+虚拟数字画面。
[0078] 5、包围体:物体的包围体就是将物体组合完全包容起来的一个封闭空间。将复杂物体封装在简单的包围体中,就可以提高几何运算的效率。包围体包括包围物体的几何体,
例如球、圆柱、正四面体或立方体等。包容物体的球面可称为包围球。通常包围体是指恰好
将物体完全包容起来的几何体,本申请实施例中,包围体的尺寸,与三维元素的尺寸相关,
可以是恰好包容三维元素的尺寸,也可以大于恰好包容三维元素的尺寸,具体尺寸不做限
定。
[0079] 由于包围体为规则的几何体,具有立体的几何中心,本申请实施例中,基于三维元素的包围体,以包围体的几何中心为参考点,可以方便地对三维元素进行旋转,此时参考点
即旋转中心;此外,还可以将包围体的几何中心重合的点作为参考点,对物体进行缩放。
[0080] 6、三维元素,为三维空间设计中的基本元素,本申请中三维元素是虚拟场景中的可操作对象。
[0081] 7、操纵(manipulation),本申请中对三维元素的操纵包括:缩放、旋转和移动。
[0082] 8、手势,即手的姿势,与传统针对触摸屏的手势不同的是,本申请实施例中的手势为隔空手势。终端(例如VR设备或AR设备等)可以通过传感器获取用户的手势信息,用于获
取用户手势信息的传感器包括双目摄像头,红外传感器或者其他深度传感器等,具体此处
不做限定。根据手关节节点检测技术识别用户的手势信息,手势识别技术为已有技术,具体
此处不再赘述。
[0083] 下面结合附图,对本申请的实施例进行具体介绍。
[0084] 在虚拟环境中,对3D元素及组件的操作,如放大、移动、旋转等,是用户在使用VRAR产品时使用频率最高且必须具备的操作能力。本方案旨在为用户提供最本能和直观的操作
3D物体或组件的方式,让用户的操作流程更简单,操作效率更高,快速上手,降低学习成本。
[0085] 如图1所示为本申请实施例的系统架构图,本申请实施例提供的三维元素的操纵方法可以应用于AR、VR或MR等场景。
[0086] 在VR、AR或MR等场景中,无论是计算机技术模拟出来的现实中的世界还是将计算机生成的文字、图像、三维模型、音乐、视频等虚拟信息模拟仿真,都涉及数字化的虚拟场
景。虚拟场景通常通过VR设备、AR设备或MR设备实现,为给用户提供可交互的沉浸式体验,
可以采用手柄、触控板等物理硬件,或头瞄、手势操作等系统进行界面的控制操作,作为设
备的用户输入。在通过手势操作进行界面控制的具体实现过程中,通过设备的传感器系统
获取用户的手势操作(包括手势以及手势的位置信息)。且通常来说用户的手势和手势的位
置信息是实时可变的,将传感器系统获取的手势在设备的观看视场进行映射,即可将现实
世界中的手势操作映射为虚拟场景中的操作图标(如手型、箭头等光标)的状态和位置移
动,实时地显示到设备的显示界面中,使得用户清楚地感知到自己对虚拟场景中的三维元
素的实时操作情况,现实世界与虚拟场景中的位置映射为已有技术,此处不再赘述。
[0087] 本申请主要应用于VR设备、AR设备或MR设备,常见的例如头戴显示器(head mounted display,HMD)等。设备通常支持多种应用程序,如文字处理应用程序、电话应用程
序、电子邮件应用程序、即时消息应用程序、照片管理应用程序、网络浏览应用程序、数字音
乐播放器应用程序、和/或数字视频播放器应用程序。在虚拟环境中被操纵的三维元素可以
是各类应用程序的三维界面,具体此处不做限定。
[0088] 如图2所示为三维元素的一个示意图。三维元素是三维设计中使用的立体元素,例如三维基元210,包括体块、圆柱或球体等。实际应用场景中例如可以是三维界面220。
[0089] 本申请实施例提供的三维元素操纵方法,在用户对三维元素进行操纵时,由于在一些应用场景中,用户与三维元素的距离比较近,通过手势操作可以直接对三维元素进行
操纵,在另一些应用场景下,用户可能与三维元素的距离比较远,在手部移动范围内无法直
接触摸三维元素,需要通过手部射线对三维元素进行操纵。下面,分别对这两类场景下的三
维元素的操纵方法进行介绍。
[0090] 请参阅图3,为本申请实施例中三维元素操纵方法的一个实施例示意图;
[0091] 301、若第一手势所在的位置与三维元素的位置之间的距离小于或等于第一预设阈值,则终端确定三维元素;
[0092] 用户可以通过手势触发对三维元素进行操纵的功能,终端获取用户的第一手势,若第一手势满足第一预设条件,则终端确定该三维元素。第一预设条件为,第一手势所在的
位置与三维元素的位置之间的距离小于或等于第一预设阈值。
[0093] 三维元素可以是虚拟环境中显示的任意一个三维元素,三维元素的包围球位于三维元素外部,可选地,终端在虚拟环境中显示包围球,这样可以方便地指引用户基于包围球
对三维元素进行操纵。由于三维元素位于包围球内部,可选地,包围球呈半透明显示,半透
明程度可以通过阿尔法通道(alpha channel)设置,具体半透明程度此处不做限定。这样,
在终端显示包围球的同时,还可以观察到包围球内部的三维元素,在用户对三维元素进行
旋转或缩放时,便于用户确定三维元素的当前状态是否达到了预期状态,可以提升用户体
验。
[0094] 示例性的:请参阅图4b,终端确定用户手势510的位置与三维元素110的位置,并判断用户手势510与三维元素110之间的距离是否小于或等于第一预设阈值,若是,则终端显
示在三维元素110外部的包围球300。
[0095] 302、若用户的第二手势与预设的手势数据库中的手势匹配,则终端根据用户的第二手势的位置显示包围球球面上的交互点和用于操作指引的坐标系;
[0096] 用户可以基于三维元素外部的包围球,通过第二手势对三维元素进行操纵。具体的,终端获取用户的第二手势,若第二手势与预设的手势数据库中的手势匹配,则终端根据
用户的第二手势显示包围球球面上的交互点和用于操作指引的坐标系。
[0097] 预设的手势数据库中的手势可以包括一个或多个,手势匹配是指终端获取的用户的手势与手势数据库中的手势相同或者差异小于预设阈值,手势匹配的具体判断方法此处
不再赘述。
[0098] 可选地,预设的手势数据库中的手势包括“捏合”手势,即拇指与食指由分开变为相互靠近的手部动作。
[0099] 可选地,第二手势与第一手势相同。
[0100] 终端根据用户的第二手势确定包围球球面上的交互点,具体地,终端从包围球的球面上确定与第二手势的位置距离最近的点为交互点,可选地,第二手势的位置包括“捏
合”手势的捏合部位,即拇指与食指相互靠近或触碰的位置。
[0101] 可选地,终端显示交互点,可以是仅显示交互点,或者,显示包围球并高亮显示交互点,或者,终端显示交互点为与包围球的颜色不同的颜色。
[0102] 可选地,终端显示的指引坐标系中,每个维度的坐标轴用于指引对应于预设的操作调节功能,例如旋转或者缩放等,此外,还可以是颜色或亮度等调节功能。
[0103] 可选地,用于操作指引的坐标系以交互点为坐标原点。
[0104] 可选地,该用于操作指引的坐标系为三维坐标系。可选地,用于操作指引的坐标系为空间笛卡尔直角坐标系,以交互点为坐标原点,三个坐标轴分别为x轴(横轴)、y轴(纵
轴)、z轴(竖轴)。其中,x轴和z轴与包围球的球面相切,y轴垂直于交互点所在的包围球的切
面,通过包围球的球心。每个坐标轴的具体作用此处不做限定。可选地,用于操作指引的坐
标系的两个坐标轴,
[0105] 示例性的,请参阅图4c,根据“捏合”手势520的捏合部位,确定包围球300上的交互点310,以310为坐标原点显示用于操作指引的坐标系320。用于操作指引的坐标系320包括x
轴、y轴和z轴,x轴和z轴与包围球的球面相切,y轴垂直于交互点所在的包围球的切面。
[0106] 303、终端根据第二手势的移动信息,对三维元素进行旋转或缩放;
[0107] 终端还根据第二手势的实时位置信息获取第二手势的移动信息。
[0108] 终端获取第二手势的移动信息,根据第二手势的移动信息对三维元素进行旋转或缩放,具体地,终端根据用户的第二手势的移动信息包括第二手势沿用于操作指引的坐标
系中任意一个坐标轴方向的移动确定三维元素的旋转方向、旋转角度或缩放比例。
[0109] 可选地,x轴和z轴用于指引用户操纵三维元素绕包围球300的球心进行旋转,另一个坐标轴y轴用于指引用户操纵三维元素以球心为参考点进行缩放。如图4c所示,其中x轴
用于指引用户操纵三维元素绕包围球300的球心上下(即从y轴正方向往y轴负方向观察,逆
时针方向)旋转,z轴用于指引用户操纵三维元素绕包围球300的球心左右(即从x轴正方向
往x轴负方向观察,逆时针方向)旋转,y轴用于指引用户缩放三维元素。
[0110] 终端根据第二手势的停止移动,结束对三维元素的操纵。
[0111] 304、终端显示第二状态的三维元素。
[0112] 示例1,请参阅图4d,第二手势为“捏合”手势520,以第二手势沿z轴正向移动一段距离,从位置521移动至位置522,则三维元素随着“捏合”手势520的移动绕包围球300的球
心(图中未示出)向左旋转,由第一状态的三维元素110旋转为第二状态的三维元素120。具
体地,本示例中三维元素绕过球心且与x轴平行的直径旋转,从x轴正方向往x轴负方向观
察,旋转方向为逆时针方向。类似地,若“捏合”手势520沿z轴负方向移动,则三维元素随着
“捏合”手势520的移动将绕绕包围球300的球心向右旋转。三维元素的旋转角度与“捏合”手
势520在球面上从位置521移动至位置522的旋转角度正相关。
[0113] 可选地,若“捏合”手势520,沿z轴移动距离大于0且小于或等于预设阈值时,高亮显示z轴330。当“捏合”手势520,沿z轴移动距离大于预设阈值后,用于操作指引的坐标系
320逐渐消失,在“捏合”手势520停止移动前不再显示。
[0114] 示例2,请参阅图4e,第二手势为“捏合”手势520,以第二手势沿x轴正向移动一段距离,从位置521移动至位置523,则三维元素随着“捏合”手势520的移动绕包围球300的球
心向左旋转,由第一状态的三维元素110旋转为第三状态的三维元素130。具体地,本示例中
三维元素绕过球心且与z轴平行的直径所在的线旋转,从z轴正方向往z轴负方向观察,旋转
方向为顺时针方向。类似地,若“捏合”手势520沿x轴负方向移动,则三维元素随着“捏合”手
势520的移动将绕包围球300的球心向右旋转。
[0115] 三维元素的旋转角度与“捏合”手势520在球面上从位置521移动至位置523的旋转角度正相关。
[0116] 可选地,沿x轴移动距离大于0且小于或等于预设阈值时,高亮显示x轴340。当“捏合”手势520,沿x轴移动距离大于预设阈值后,用于操作指引的坐标系320逐渐消失,在“捏
合”手势520停止移动前不再显示。
[0117] 示例3,请参阅图4f,第二手势为“捏合”手势520,以第二手势沿x轴和z轴所在的平面方向移动一段距离,从位置521移动至位置524,“捏合”手势520的位移可分解为沿x轴正
向的位移分量和z轴正向的位移分量,则三维元素随着“捏合”手势520的移动绕包围球300
的球心旋转,由第一状态的三维元素110旋转为第三状态的三维元素140。其中,“捏合”手势
520的位移,沿x轴正向的位移分量,用于控制三维元素绕过球心且与z轴平行的直径旋转,
沿z轴正向的位移分量,用于控制三维元素绕过球心且与x轴平行的直径旋转。三维元素的
旋转角度与“捏合”手势520在球面上从位置521移动至位置524的旋转角度正相关。
[0118] 示例4,请参阅图4g,第二手势为“捏合”手势520,以第二手势沿y轴正向移动,随着“捏合”手势520从位置521移动至位置525,三维元素逐渐放大,由第一状态的三维元素110
放大为第五状态的三维元素150。类似地,若“捏合”手势520沿y轴负方向移动,则三维元素
随着“捏合”手势520的移动将被缩小。当用户松开“捏合”手势后,则结束缩放操作,三维元
素的状态被固定。
[0119] 可选地,若“捏合”手势520,沿y轴方向移动,高亮显示y轴350。
[0120] 可选地,当“捏合”手势520,沿y轴移动距离大于或等于预设阈值后,显示的用于操作指引的坐标系逐渐消失。
[0121] 示例5,请参阅图4h,第二手势为“捏合”手势520,以第二手势从位置521移动至位置526,位移在x轴、y轴和z轴正方向均有分量,则三维元素随着“捏合”手势520的移动绕包
围球300的球心旋转并放大,由第一状态的三维元素110旋转为第六状态的三维元素160。其
中,“捏合”手势520的位移,沿x轴正向的位移分量,用于控制三维元素绕过球心且与z轴平
行的直径旋转,沿z轴正向的位移分量,用于控制三维元素绕过球心且与x轴平行的直径旋
转,沿y轴正向的位移分量,用于控制三维元素放大。三维元素的旋转角度与“捏合”手势520
在球面上从位置521移动至位置526的旋转角度正相关。
[0122] 请参阅图5,为本申请实施例中三维元素操纵方法的另一个实施例示意图;
[0123] 501、若第一手势所在的位置与三维元素的位置之间的距离大于第一预设阈值,且第一手势与预设的手势数据库中的手势匹配,则在三维元素外部显示包围球;
[0124] 用户可以通过手势触发对三维元素进行操纵的功能,终端获取用户对三维元素的第一手势,若第一手作满足第一预设条件,则终端确定该第一三维元素的包围球的位置。第
一预设条件为,若第一手势所在的位置与三维元素的位置之间的距离大于或等于第二预设
阈值,且第一手势与预设的手势数据库中的手势匹配,则在三维元素外部显示包围球;在用
户与三维元素之间的距离比较远的场景下,由于手部移动范围内手势无法直接触摸三维元
素,可以通过本实施例的方法对三维元素进行操纵。
[0125] 预设的手势数据库中的手势可以包括一个或多个,手势匹配是指终端获取的用户的手势与手作数据库中的手势相同或者差异小于预设阈值,手势匹配的具体判断方法此处
不再赘述。
[0126] 可选地,预设的手势数据库中的手势包括以“指向”手势指向三维元素,“指向”手势即手指(至少一个指头)指向三维元素的手部动作,若“指向”手势的延长线与三维元素在
空间存在重叠,则确定该手势是指向该三维元素的。
[0127] 示例性的:请参阅图6a,终端确定手势530的位置与三维元素110的位置,并判断手势530与三维元素110之间的距离大于或等于第一预设阈值,终端判断用户手势530是否与
预设的手势数据库中的手势匹配。若用户手势530与三维元素110之间的距离大于或等于第
一预设阈值且手势530与预设手势数据库中的“指向”手势匹配,则终端显示在三维元素110
外部的包围球300。
[0128] 502、若用户的第二手势与预设的手势数据库中的手势匹配,则终端根据用户的第二手势显示包围球球面上的交互点和用于操作指引的坐标系;
[0129] 本步骤与图3对应的实施例中步骤302类似,此处不再赘述。
[0130] 需要说明的是,终端根据用户的第二手势确定包围球球面上的交互点时,具体是从包围球的球面上确定与第二手势指向方向上的位置距离最近的点为交互点。示例性的,
请参阅图6b,“捏合”手势540指向方向与包围球距离最近的交点即为交互点310。
[0131] 503、终端根据第二手势的移动信息,对三维元素进行旋转或缩放;
[0132] 本步骤与图3对应的实施例中步骤303类似,此处不再赘述。
[0133] 示例性的,请参阅图6c和图6d,分别为对三维元素进行旋转和缩放的示意图。如图6c所示,“捏合”手势540沿z轴正向从位置541移动至位置542,三维元素随之旋转。如图6d所
示,“捏合”手势540沿y轴正向从位置541移动至位置543,三维元素随之放大。
[0134] 处理模块到用户松开“抓取”手势后,则结束移动操作,元素固定在手势松开的最后位置,若有激光射线则消失。
[0135] 请参阅图7,为本申请实施例中移动三维元素的方法的一个实施例示意图。
[0136] 701、若用户的第一手势满足第一预设条件,则在三维元素外显示包围球;
[0137] 终端根据用户的第一手势从虚拟环境中选中三维元素,可选地,通过在三维元素外显示包围球向用户反馈该三维元素被选中。终端获取用户对三维元素的第一手势,若第
一手势满足第一预设条件,则终端确定该第一三维元素的包围球的位置。第一预设条件为,
第一手势所在的位置与三维元素的位置之间的距离小于或等于第一预设阈值,或者,若第
一手势所在的位置与三维元素的位置之间的距离大于或等于第二预设阈值,且第一手势与
预设的手势数据库中的手势匹配,则在三维元素外部显示包围球。
[0138] 示例性的,如图8a所示,第一手势550与三维元素110之间的距离小于或等于预设阈值,则在三维元素外显示包围球300。
[0139] 702、根据用户的第二手势和第二手势的移动信息,移动三维元素;
[0140] 终端获取用户的第二手势,若第二手势与预设的手势数据库中的手势匹配,则三维元素根据第二手势的移动而移动。具体地,第二手势例如为在球面任意位置做“抓取”手
势,即手掌由分开变为五指靠近。可选地,根据第二手势操作显示高亮的包围球,向用户反
馈三维元素被抓取。第二手势的移动信息包括移动方向和移动距离,根据第二手势移动的
方向,将三维元素按照对应的方向移动,移动距离与第二手势的移动距离正相关。终端确定
用户解除第二手势操作时,停止移动三维元素。示例性的,如图8b所示,随着手势550从位置
551移动至位置552,三维元素110随之从位置111移动至位置112。可选地,第二手势解除后,
三维元素停止移动,显示的包围球消失。
[0141] 可选地,对于远距离操纵场景,第二手势解除后,激光射线也消失。
[0142] 上面介绍了本申请提供的三维元素的操纵方法,下面对实现该方法的终端进行介绍,请参阅图9,为本申请实施例中终端的一个实施例示意图。
[0143] 该终端包括:
[0144] 显示单元901,用于在虚拟环境中显示第一状态的三维元素;
[0145] 获取单元902,用于获取用户的手势和所述手势的位置信息;
[0146] 确定单元903,用于根据所述手势和所述手势的位置信息确定所述三维元素的交互点,所述交互点为所述三维元素的包围体表面的点,所述三维元素的包围体为包围所述
三维元素的规则几何体;
[0147] 所述获取单元902,还用于获取基于所述交互点的所述手势的移动信息;
[0148] 所述显示单元901,还用于根据所述移动信息,以所述包围体的几何中心为参考点对所述第一状态的三维元素进行操纵,在所述虚拟环境显示所述第二状态的三维元,所述
操纵包括旋转或缩放虚拟环境。
[0149] 可选地,所述显示单元901,还用于:显示所述包围体和所述交互点。
[0150] 可选地,所述包围体包括包围球;所述包围体的几何中心为所述包围球的球心。
[0151] 可选地,所述显示单元901,还用于:显示以所述交互点为坐标原点的坐标系,所述坐标系用于引导用户对所述三维元素进行操纵。
[0152] 可选地,所述包围体为包围球;所述坐标系为三维笛卡尔坐标系,所述三维笛卡尔坐标系的x轴和z轴与所述包围球相切,所述三维笛卡尔坐标系的y轴过所述包围球的球心
并指向所述包围球外部。
[0153] 可选地,所述显示单元901具体用于:根据所述移动信息确定所述手势映射在所述x轴上的第一位移和所述手势映射在所述z轴上的第二位移;根据所述第一位移和第二位移
确定所述第一状态的三维元素绕所述参考点的旋转方向及角度;
[0154] 和/或,
[0155] 根据所述移动信息确定所述手势映射在所述y轴上的第三位移;根据所述第三位移,确定所述第一状态的三维元素的缩放尺寸;
[0156] 根据所述旋转方向及角度,和/或所述缩放尺寸,在所述虚拟环境显示所述第二状态的三维元素。
[0157] 可选地,所述显示单元901,具体用于若所述移动信息指示的所述交互点的移动距离大于或等于预设阈值,则停止显示所述坐标系。
[0158] 可选地,所述包围体呈半透明显示。
[0159] 可选地,所述确定单元903具体用于:若根据所述手势的位置信息确定的所述手势的位置与第一状态的三维元素的位置之间的距离小于或等于第一阈值,且所述手势与第一
手势数据库中的手势匹配,则确定所述包围体表面与所述手势距离最近的点为所述交互
点。
[0160] 可选地,所述确定单元903具体用于:若根据所述手势的位置信息确定的所述手势的位置与第一状态的三维元素的位置之间的距离大于或等于第二阈值,且所述手势与第二
手势数据库中的手势匹配,所述手势指示第一方向,以所述手势为端点沿所述第一方向的
射线与所述第一状态的三维元素存在交点,根据所述射线确定所述交互点。
[0161] 请参阅图10,为本申请实施例中终端的一个结构示意图。
[0162] 该终端包括VR设备、AR设备或MR设备。
[0163] 该终端设备包括存储模块1001、显示模块1002、输入模块1003和处理模块1004。
[0164] 输入模块1003用于通过传感器获取用户的手势以及手势的移动信息,使用户可以输入相关数据;
[0165] 处理模块1004用于进行判断、分析或运算等动作,并给其他模块发送指令;具体用于检测输入模块1003获取的用户输入,根据用户的输入类型和预设的规则,向显示模块
1002发送相应的指令,以预设的样式显示用户的手势或三维元素。
[0166] 显示模块1002通过屏幕向用户输出操作结果反馈,显示三维元素以及用户手势;
[0167] 可选地,在物理实体上,显示模块1002和输入模块1004具体体现为触摸屏;
[0168] 存储模块1001用于存储数据,包括预设的手势数据库,及手势对应的指令。
[0169] 请参阅图11,为本申请实施例中终端的另一个实施例示意图。
[0170] 为便于理解,下面将对本申请实施例提供的终端100的结构进行示例说明。参见图11,图11是本申请实施例提供的终端的结构示意图。
[0171] 如图11所示,终端100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块
141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器
170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器
192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,
SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压
传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹
传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
[0172] 可以理解的是,本申请实施例示意的结构并不构成对终端100的具体限定。在本申请另一些实施例中,终端100可以包括比图示更多或更少的部件,或者组合某些部件,或者
拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实
现。
[0173] 处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing 
unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码
器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理
器(neural‑network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,
也可以集成在一个或多个处理器中。
[0174] 其中,控制器可以是终端100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0175] 处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令
或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了
重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
[0176] 在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter‑integrated circuit,I1C)接口,集成电路内置音频(inter‑integrated circuit 
sound,I1S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器
(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口
(mobile industry processor interface,MIPI),通用输入输出(general‑purpose 
input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或
通用串行总线(universal serial bus,USB)接口等。
[0177] 可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端100的结构限定。在本申请另一些实施例中,终端100也可以采用上述实施
例中不同的接口连接方式,或多种接口连接方式的组合。
[0178] 充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130
接收有线充电器的充电输入。
[0179] 电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储
器,显示屏194,摄像头193,和无线通信模块160等供电。
[0180] 终端100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
[0181] 在一些可行的实施方式中,终端100可以使用无线通信功能和其他设备通信。例如,终端100可以和第二电子设备通信,终端100与第二电子设备建立投屏连接,终端100输
出投屏数据至第二电子设备等。其中,终端100输出的投屏数据可以为音视频数据。
[0182] 天线1和天线2用于发射和接收电磁波信号。终端100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用
为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
[0183] 移动通信模块150可以提供应用在终端100上的包括1G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low 
noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波
进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调
制解调处理器调制后的信号放大,经天线2转为电磁波辐射出去。在一些实施例中,移动通
信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模
块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
[0184] 调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解
调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理
后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输
出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是
独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块
150或其他功能模块设置在同一个器件中。
[0185] 无线通信模块160可以提供应用在终端100上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi‑Fi)网络),蓝牙(bluetooth,
BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency 
modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术
(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模
块的一个或多个器件。无线通信模块160经由天线1接收电磁波,将电磁波信号调频以及滤
波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发
送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
[0186] 在一些实施例中,终端100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端100可以通过无线通信技术与网络以及其他设备通信。所述无线通信
技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通
用分组无线服务(general packet radio service,GPRS),码分多址接入(code division 
multiple access,CDMA),宽带码分多址(wideband code division multiple access,
WCDMA),时分码分多址(time‑division code division multiple access,TD‑SCDMA),长
期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可
以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global 
navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation 
satellite system,BDS),准天顶卫星系统(quasi‑zenith satellite system,QZSS)和/或
星基增强系统(satellite based augmentation systems,SBAS)。
[0187] 终端100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处
理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
[0188] 显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light‑emitting 
diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active‑matrix 
organic light emitting diode的,AMOLED),柔性发光二极管(flex light‑emitting 
diode,FLED),Miniled,MicroLed,Micro‑oLed,量子点发光二极管(quantum dot light 
emittingdiodes,QLED)等。在一些实施例中,终端100可以包括1个或N个显示屏194,N为大
于1的正整数。
[0189] 在一些可行的实施方式中,显示屏194可用于显示终端100的系统输出的各个界面。终端100输出的各个界面可参考后续实施例的相关描述。
[0190] 终端100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
[0191] ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处
理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以
对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
[0192] 摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导
体(complementary metal‑oxide‑semiconductor,CMOS)光电晶体管。感光元件把光信号转
换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP
加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,
终端100可以包括1个或N个摄像头193,N为大于1的正整数。
[0193] 数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。
[0194] 视频编解码器用于对数字视频压缩或解压缩。终端100可以支持一种或多种视频编解码器。这样,终端100可以播放或录制多种编码格式的视频,例如:动态图像专家组
(moving picture experts group,MPEG)1,MPEG1,MPEG3,MPEG4等。
[0195] NPU为神经网络(neural‑network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU
可以实现终端100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
[0196] 外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功
能。例如将音乐,视频等文件保存在外部存储卡中。
[0197] 内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行终端100的各种功能应用
以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存
储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储
数据区可存储终端100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部
存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘
存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
[0198] 终端100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。在一些可行的实施方式中,
音频模块170可用于播放视频对应的声音。例如,显示屏194显示视频播放画面时,音频模块
170输出视频播放的声音。
[0199] 音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。
[0200] 扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。
[0201] 受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。
[0202] 麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
[0203] 耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国
蜂窝电信工业协会(cellular telecommunications industry association of the USA,
CTIA)标准接口。
[0204] 压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。陀螺仪传感器180B可以用于确定终端100的
运动姿态。气压传感器180C用于测量气压。
[0205] 加速度传感器180E可检测终端100在各个方向上(包括三轴或六轴)加速度的大小。当终端100静止时可检测出重力的大小及方向。还可以用于识别终端姿态,应用于横竖
屏切换,计步器等应用。
[0206] 距离传感器180F,用于测量距离。
[0207] 环境光传感器180L用于感知环境光亮度。
[0208] 指纹传感器180H用于采集指纹。
[0209] 温度传感器180J用于检测温度。
[0210] 触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其
上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触
摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触
摸传感器180K也可以设置于终端100的表面,与显示屏194所处的位置不同。
[0211] 按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端100可以接收按键输入,产生与终端100的用户设置以及功能控制有关的键信号输入。
[0212] 马达191可以产生振动提示。
[0213] 指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
[0214] SIM卡接口195用于连接SIM卡。
[0215] 请参阅图12,为本申请实施例的一种HMD设备的示意图;
[0216] 本申请所基于的一种HMD设备如图12所示,该HMD设备1200包括:
[0217] 处理器1201,用于产生相应的操作控制信号,发给设备中相应的部件,读取以及处理软件中的数据,尤其是读取和处理存储器中的数据和程序,以使设备中的各个功能模块
执行相应的功能,从而控制相应的部件按指令的要求进行动作。如用于各类媒体处理算法,
包括人机交互、运动跟踪/预测、渲染显示、音频处理等。
[0218] 传感器系统1202:用于采集、获取或发送信息,包括图像信息和距离信息,如本申请中的手势信息。本申请的传感器系统中可以包括3轴或6轴传感器,用于获取HMD设备1200
的运动信息,如角速度,线加速度;同时对手部运动进行定位、追踪和识别,并将识别到的手
部运动呈现在VR设备的显示屏中;传感器系统还获取手的静态及动态特征。静态特征信息,
如指尖定点、手掌质心、手部关节等。此类特征一般采用单帧数据获取。动态特征信息,如位
移向量、运动速度等。此类特征信息通常通过多针数据获取。由于是成熟的现有技术,因此
本申请文件中不做详细论述。与现有技术相比,本申请的传感器系统中含有深度传感器;含
有深度传感器可以有两种方式,一种是包含有专门的检测深度的传感器硬件,另一种是传
感器系统中包含有检测深度的功能软件模块,以获取手的深度信息,并融合到用户和界面
的交互中。作为传感器系统,其中也可以存储一些特定的程序指令。存储器1205,用于存储
程序和各种数据,主要存储操作系统、应用和功能指令等软件单元、或者他们的子集、或者
他们的扩展集。还可以包括非易失性随机存取存储器,向处理器1201提供包括管理计算处
理设备中的硬件、软件及数据资源,支持控制软件和应用。还用于多媒体文件的储存,以及
运行程序、应用的存储。
[0219] 显示元件1203:通常包括显示屏以及配套的光学器件,用于内容显示;通常显示界面呈现在显示屏中,以进行人机交互以及文件浏览。
[0220] 声学元件1204:如麦克风、扬声器、耳机等,用于输出声音。
[0221] 物理硬件1206:如开关键、音量键、机械调控键等实体功能键。
[0222] 设备还可以包括一些除上述1201‑1205之外的其他部件1207,用于使设备的功能和外观更加丰富和优美。
[0223] 以上硬件1201‑1207可以通过总线1208电气连接实现耦合通信。
[0224] 请参阅图13,是本申请实施例的终端的一种软件结构框图。
[0225] 分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应
用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
[0226] 应用程序层可以包括一系列应用程序包。
[0227] 如图13所示,应用程序包可以包括电话、相机,图库、日历、通话、地图、导航、WLAN、蓝牙、音乐、视频、短信息、VR眼镜应用等应用程序。其中,VR眼镜应用中包括3D背景绘制模
块、手势信息管理模块、应用图标加载模块、虚拟屏幕管理模块、虚拟屏幕内容获取模块。
[0228] 其中,3D背景绘制模块,用于完成在3D虚拟环境中显示背景画面的绘制,使用户可获得仿佛置身在某个真实场景中的感觉。
[0229] 手势信息管理模块,用于获取用户的手势信息,以达到用户可通过操作手势触控虚拟显示界面中控件的目的。
[0230] 应用图标加载模块,用于在VR眼镜的虚拟环境中加载并显示终端上的若干应用的图标(例如微信、微博、抖音等)。
[0231] 虚拟屏幕管理模块,用于在用户点击应用图标启动应用时,可以创建虚拟屏幕,在用户关闭应用时可以销毁虚拟屏幕。
[0232] 虚拟屏幕内容获取模块,用于在用户点击启动的应用时,获取应用中的内容,并将应用中的内容通过畸变渲染,以实现在虚拟环境中显示。
[0233] 应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
[0234] 如图13所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
[0235] 窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
[0236] 内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
[0237] 视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示
界面,可以包括显示文字的视图以及显示图片的视图。
[0238] 电话管理器用于提供终端的通信功能。例如通话状态的管理(包括接通,挂断等)。
[0239] 资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
[0240] 通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消
息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通
知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如
在状态栏提示文本信息,发出提示音,终端振动,指示灯闪烁等。
[0241] 本申请实施例中,应用程序框架层中活动内容管理服务(Activity Manager Service,AMS)、窗口管理服务(Window Manager Service,WMS)和下载管理服务(Download 
Manager Service,DMS)中还可以包括应用保活模块、事件注入模块、虚拟屏幕管理模块。
[0242] 其中,应用保活模块,用于在具有多屏显示模式功能的应用启动之后,控制终端进入VR多屏显示模式。在该模式下,终端可以同时运行多个应用,并支持各应用同时处于活动
状态。
[0243] 事件注入模块,用于在多屏显示模式下,获取用户的操作对应事件,并将事件分发到应用对应的虚拟屏幕上。
[0244] 虚拟屏幕管理模块,用于为终端提供创建虚拟屏幕和销毁虚拟屏幕的能力。
[0245] Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
[0246] 核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
[0247] 应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线
程管理,安全和异常的管理,以及垃圾回收等功能。
[0248] 系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
[0249] 表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
[0250] 媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
[0251] 三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
[0252] 2D图形引擎是2D绘图的绘图引擎。
[0253] 内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
[0254] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0255] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的
划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件
可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或
讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦
合或通信连接,可以是电性,机械或其它的形式。
[0256] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0257] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0258] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上
或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式
体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机
设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全
部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read‑only memory,
ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序
代码的介质。
[0259] 以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前
述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些
修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。