一种三维场景视角变换方法及装置与流程

文档序号:21176247发布日期:2020-06-20 17:29阅读:209来源:国知局
一种三维场景视角变换方法及装置与流程

本发明涉及三维场景显示技术领域,尤其涉及一种三维场景视角变换方法及装置。



背景技术:

三维场景可以以水平360度垂直180度进行展示。同时,现有技术中的三维场景还使得用户可以通过拖拽的方式进行水平或垂直方向上的三维场景视角变换。

但是现有技术中,用户在三维场景变换视角的过程中,用户在水平或垂直方向上可以无差别地面对任何方向,在变换过程中,很容易由于快速的拖拽操作,导致用户迷失方向,完全丧失方向感,因此在三维场景中,用户切换视角的体验不佳。

因此,如何改善在三维场景中用户切换视角的体验,已经成为业界亟待解决的问题。



技术实现要素:

本发明实施例提供一种三维场景视角变换方法及装置,用以解决上述背景技术中提出的技术问题,或至少部分解决上述背景技术中提出的技术问题。

第一方面,本发明实施例提供一种三维场景视角变换方法,包括:

获取预设主视角信息和三维场景交互信息;

通过预设主视角信息和三维场景交互信息计算得到视角变换信息,以根据所述视角变换信息进行三维场景视角变换。

更具体的,在所述根据所述视角变换信息进行三维场景视角变换的步骤之后,所述方法还包括:

在三维场景视角变换后,得到用户当前视角;

在所述用户当前视角停留预设时间后,将所述用户当前视角调整回预设主视角。

更具体的,所述三维场景交互信息包括拖拽交互信息,滑动手势交互信息和键盘交互信息。

更具体的,所述预设主视角信息包括预设垂直方向主视角和预设水平方向主视角,其中,所述预设主视角信息为一个或多个。

更具体的,所述通过预设主视角信息和三维场景交互信息计算得到视角变换信息,具体为:

所述三维场景交互信息包括交互前视角信息和交互量化信息;

根据所述预设主视角信息和交互前视角信息计算视角变换调整系数;

根据所述交互量化信息和所述视角变换调整系数确定视角变换信息。

更具体的,所述根据所述预设主视角信息和交互前视角信息计算视角变换调整系数,具体为:

将所述交互前视角与预设主视角逐一比较,得到最接近的主视角;

将所述交互前视角和所述最接近的主视角进行求差计算,得到第一差值;

根据视角变换范围信息和所述主视角信息,得到所述第一差值的最大可能值;

根据所述第一差值和所述最大可能值计算得到视角变换调整系数。

更具体的,所述根据所述第一差值和所述最大可能值计算得到视角变换调整系数,具体为:

将所述最大可能值和所述第一差值进行求差,得到第二差值;

根据所述第二差值和所述最大可能值的比值,得到视角变换调整系数。

第二方面,本发明实施例提供一种三维场景视角变换装置,包括:

获取模块,用于获取预设主视角信息和三维场景交互信息;

变换模块,用于通过预设主视角信息和三维场景交互信息计算得到视角变换信息,以根据所述视角变换信息进行三维场景视角变换。

第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述三维场景视角变换方法的步骤。

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述三维场景视角变换方法的步骤。

本发明实施例提供的一种三维场景视角变换方法及装置,通过设在获取到用户对于三维场景的交互信息时,根据预设主视角和用户当前视角的差值,得到最接近的主视角,结合用户对于三维场景的交互信息,动态调整视角变换的角度,本发明在动态调整视角变换角度时,当交互前的视角与预设主视角的差值越大,同样的拖拽距离引起的视角变换越小,这样的动态调整优化与现实世界中的人的视角变换接近,提升了用户在三维场景中调整用户视角的体验。

附图说明

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

图1为本发明一实施例中所描述的三维场景视角变换方法流程示意图;

图2为本发明一实施例中所描述的垂直视角交互示意图;

图3为本发明一实施例中所描述的三维场景视角变换处理流程图;

图4为本发明一实施例中所描述的水平视角交互示意图;

图5为本发明另一实施例中所描述的三维场景视角变换处理流程图;

图6为本发明一实施例所描述的三维场景视角变换装置结构示意图;

图7为本发明一实施例所描述的电子设备结构示意图。

具体实施方式

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

图1为本发明一实施例中所描述的三维场景视角变换方法流程示意图,如图1所示,包括:

步骤s1,获取预设主视角信息和三维场景交互信息;

步骤s2,通过预设主视角信息和三维场景交互信息计算得到视角变换信息,以根据所述视角变换信息进行三维场景视角变换。

具体的,本发明实施例中所描述的预设主视角信息可以是指在三维场景中,自动或者手动设定场景中水平方向和垂直方向上的主要视角,即预设主视角信息可以包括预设主视角信息包括预设垂直方向主视角和预设水平方向主视角。

本发明实施例中所描述的三维场景交互信息可以是指用户针对于三维场景的交互信息的信息,其可以为用户通过输入设备进行的拖拽交互动作或者用户通过输入设备进行的滑动交互动作,此处所描述的输入设备具体可以是指,触摸屏、键盘或鼠标等。

当接收到的三维场景交互信息为垂直方向上的交互信息时,获取预设垂直方向主视角和交互前视角信息,根据三维场景交互信息得到用户的初始视角变换信息,即交互量化信息,然后将交互前的视角和预设垂直方向主视角信息进行求差,得到θ0,同时获取垂直方向相对于预设垂直方向主视角变换的最大值,即预设垂直方向主视角变换极值信息计算得到视角变换信息具体为:

其中,为预设垂直方向主视角变换极值信息,θ0为交互前视角信息和预设垂直方向主视角信息的差值,δθ为交互量化信息。

当接收到的三维场景交互信息为水平方向上的交互信息时,获取一个或多个预设水平方向主视角,然后获取交互前的用户视角信息,在预设水平方向主视角中确定与交互前的用户视角信息最接近的主视角θnearest,根据三维场景交互信息的方向,确定交互信息方向上的下一个主视角为第二目标预设水平方向主视角,将交互前的视角信息最接近的主视角和第二目标预设水平方向主视角进行求差,得到另根据三维场景交互信息获取交互量化信息v,即用户滑动手势的速率,得到视角变换信息具体为:

其中,v为用户交互速率信息,θ1为交互前的用户视角信息,θnearest为与交互前的用户视角信息最接近的主视角,为最接近的主视角与第二目标预设水平方向主视角之间的差值。

本发明实施例对交互量化信息进行动态调整,实现了当交互前视角信息与预设主视角的差值越大,在相同的拖拽或滑动距离引起的视角变换越小。这与现实世界中人们转头时的情况类似,初始幅度较大,后续幅度越来越小,因此,这种模仿现实世界人类视角变换的视角变换方式,可以有效避免在三维场景变换中的容易迷失方向的问题,有效提升三维场景中用户切换视角的用户体验。

在上述实施例的基础上,在所述根据所述视角变换信息进行三维场景视角变换的步骤之后,所述方法还包括:

在三维场景视角变换后,得到用户当前视角;

在所述用户当前视角停留预设时间后,将所述用户当前视角自动调整回预设主视角。

具体的,用户在拖拽改变垂直方向的视角后,如果可以在任意视角较长时间停留的话,容易导致用户迷失方向。因此本发明在进行视角调整后,在调整后的用户目标视角停留预设时间后,自动将用户视角调整回到预设主视角。

本发明实施例中所描述的预设时间可以根据实际需要预先设定。

针对水平视角调整过程中,在调整后的用户目标视角停留预设时间后,自动调整回到的是用户目标视角最接近的预设水平方向主视角。

本发明实施例通过在调整后的用户目标视角停留预设时间后,自动将用户视角调整回到预设主视角,从而避免用户可以在任意视角较长时间停留,有助于减轻方向迷失,有效提升了用户体验。

在上述实施例的基础上,所述三维场景交互信息包括拖拽交互信息,滑动手势交互信息和键盘交互信息。

具体的,本发明实施例中此处所描述的交互信息可以是通过触摸屏、键盘或鼠标等输入设备实现的交互。

具体的,例如通过触摸屏进行滑动或拖拽,利用鼠标进行拖拽,利用键盘控制方向,如通过上/下/左/右键来进行相应的视角变换。

在上述实施例的基础上,所述预设主视角信息包括预设垂直方向主视角和预设水平方向主视角,其中,所述预设主视角信息为一个或多个。

所述通过预设主视角信息和三维场景交互信息计算得到视角变换信息,具体为:

所述三维场景交互信息包括交互前视角信息和交互量化信息;

根据所述预设主视角信息和交互前视角信息计算视角变换调整系数;

根据所述交互量化信息和所述视角变换调整系数确定视角变换信息。

具体的,本发明实施例中所描述的交互量化信息可以是指交互场景中交互的距离或速率,具体可以是指滑动或者拖拽的距离,其可以用像素来进行衡量,也可以是滑动或拖拽的速率,其可以用像素每秒来衡量。例如在垂直方向拖拽距离为10个像素。

本发明实施例中根据三维场景交互信息可以确定交互动作起始的位置,确定交互前视角信息可以是指交互动作起始位置所处的视角信息,在第一次交互动作时,该交互前视角信息可以与预设主视角重合,在多次交互动作后,交互前视角信息可以与预设主视角不再重合。

本发明实施例中所描述的视角变换调整系数具体是针对于正常交互所引起的视角变换进行优化的调整系数,其能够使交互过程更贴近人类的主观体验,提升用户感受。

在上述实施例的基础上,所述根据所述预设主视角信息和交互前视角信息计算视角变换调整系数,具体为:

将所述交互前视角与预设主视角逐一比较,得到最接近的主视角;

将所述交互前视角和所述最接近的主视角进行求差计算,得到第一差值;

根据视角变换范围信息和所述主视角信息,得到所述第一差值的最大可能值;

根据所述第一差值和所述最大可能值计算得到视角变换调整系数。

所述根据所述第一差值和所述最大可能值计算得到视角变换调整系数,具体为:

将所述最大可能值和所述第一差值进行求差,得到第二差值;

根据所述第二差值和所述最大可能值的比值,得到视角变换调整系数。

具体的,本发明实施例中所描述的视角变换范围信息可以根据具体情况通过现有手段进行设定,例如在垂直方向上,相对于预设垂直主视角所能变换的角度的最大值,通常可以设置为90度。

本发明实施例中所描述的将交互前视角与多个预设视角比较具体是指,逐一计算交互前视角与各个预设主视角的差值,选取与交互前视角差值绝对值最小的预设主视角,即为最接近的主视角。

本发明实施例中所描述的最接近的主视角是指预设主视角中与交互前视角最接近的主视角。

θ1为用户当前视角信息,θnearest为最接近的主视角,因此第一差值为θ1-θnearest。根据视角变换范围信息和所述主视角信息,得到所述第一差值的最大可能值θmax,因此最终视角变换调整系数具体为:

本发明实施例对交互量化信息进行动态调整,实现了当交互前视角信息与预设主视角的差值越大,在相同的拖拽或滑动距离引起的视角变换越小,这与现实世界中人们转头时的情况类似,初始幅度较大,后续幅度越来越小,因此,这种模仿现实世界人类视角变换的视角变换方式,可以有效避免在三维场景变换中的容易迷失方向的问题,有效提升三维场景中用户切换视角的用户体验。

图2为本发明一实施例中所描述的垂直视角交互示意图,如图2所示,图2中的a为垂直方向上的主视角示意图,缺省视角为水平方向,即垂直方向上的主视角。垂直方向上的视角变换范围为-90度~90度,图2中的b为垂直方向上拖拽10度的示意图,接收到用户在垂直方向上拖拽的事件,拖拽距离为10px,对应的垂直方向上的拖拽角度为10度;计算三维场景在垂直方向上的视角变换的角度,在本次拖拽前,垂直方向上的视角与垂直方向上的主视角的差为0度。在垂直方向上的视角变换的角度的计算方法如下:

其中,为预设垂直方向主视角变换极值信息,在本实施例中为90度,θ0为交互前视角信息和预设垂直方向主视角信息的差值,在本次拖拽中,该值为0,δθ为初始视角变换信息,φ为计算出的视角变换的角度,根据该公式,本次拖拽的视角变换调整系数为1,计算得到的视角变换的值应为10度。

图2中的c为垂直方向上再次拖拽角度为10度的示意图,再次接收到用户在垂直方向上拖拽的事件,拖拽距离为10px,对应的垂直方向上的拖拽角度为10度,在本次拖拽前,垂直方向上的视角与垂直方向上的主视角的差为10度。根据上述视角变换计算公式可以计算得到本次拖拽的视角变换调整系数为8/9,计算得到的视角变换的值约为9度。

图3为本发明一实施例中所描述的三维场景视角变换处理流程图,如图3所示,包括步骤s31,默认保持在主视角,然后进入步骤s32,接收到用户拖拽事件,然后进入步骤s33,利用视角变换计算公式,计算本次拖拽事件对应的视角变换值,进入步骤s34,根据计算出的视角变换值,进行视角变换,步骤s35,判断停顿时间是否大于阈值,若大于则进入步骤s36,逐步回复到主视角,若不大于,则回到步骤s32。

图4为本发明一实施例中所描述的水平视角交互示意图,如图4所示,图4中的a为本发明实施例中的三维场景预设水平方向主视角示意图,包括正东、正南、正西和正北四个预设水平方向主视角。

当前视角为正北方向,该方向的水平视角设定为0度,图4中的b为水平方向向左滑动示意图,接收到用户在水平方向上的向左划动手势事件,划动速率为20px/s,计算三维场景在水平方向上的视角变换的角度在水平方向上的视角变换的角度的计算方法如下:

其中,v为用户交互速率信息,θ1为交互前视角信息,θnearest为与交互前视角信息最接近的目标预设水平方向主视角,其差值对应本次手势的值为0,为目标预设水平方向主视角与第二目标预设水平方向主视角之间的差值,对应本次手势的值为90,根据该公式,本次划动手势的视角变换的值应为-20度。

图4中的c为变换后的视角示意图,图4中的d为水平方向向右滑动示意图,接收到用户在水平方向上的向右划动手势事件,划动速率为110px/s,根据上述公式,计算出本次滑动手势视角变换值为110度,图4中的e为变换后的视角示意图,在视角变换结束后,在该视角停留一个预设的时间阈值。当停留时间大于该阈值后,视角从当前视角逐步回复到最接近的主视角,图4中的f为回到最接近接主视角的视角示意图。

图5为本发明另一实施例中所描述的三维场景视角变换处理流程图,如图5所示,包括:s51,默认保持在主视角,然后进入步骤s52,接收用户滑动手势事件,步骤s53,利用视角变换计算公式,计算本次滑动手势事件对应的视角变换值,进入步骤s54,根据计算出的视角变换值,进行视角变换,步骤s55,判断交互停顿时间是否大于阈值,若大于,则进入步骤s56,逐步回复到最接近的主视角,若不大于,则返回步骤s52,再次接收用户滑动手势事件。

图6为本发明一实施例所描述的三维场景视角变换装置结构示意图,如图6所示,包括:获取模块610和变换模块620,其中,获取模块610用于获取预设主视角信息和三维场景交互信息;其中,变换模块620用于通过预设主视角信息和三维场景交互信息计算得到视角变换信息,以根据所述视角变换信息进行三维场景视角变换。

本发明实施例提供的装置是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。

本发明实施例通过设定水平方向和垂直方向的预设主视角,在获取到用户对于三维场景的交互信息时,根据预设主视角和交互前视角的差值,结合用户对于三维场景的交互信息,动态调整视角变换的角度,本发明在动态调整视角变换角度时,当交互前的视角与预设主视角的差值越大,同样的拖拽距离引起的视角变换越小,这样的动态调整优化与现实世界中的人的视角变换接近,提升了用户在三维场景中调整用户视角的体验。

图7为本发明一实施例所描述的电子设备结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(communicationsinterface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行如下方法:获取预设主视角信息和三维场景交互信息;通过预设主视角信息和三维场景交互信息计算得到视角变换信息,以根据所述视角变换信息进行三维场景视角变换。

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

本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取预设主视角信息和三维场景交互信息;通过预设主视角信息和三维场景交互信息计算得到视角变换信息,以根据所述视角变换信息进行三维场景视角变换。

本发明实施例提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储服务器指令,该计算机指令使计算机执行上述各实施例提供的方法,例如包括:获取预设主视角信息和三维场景交互信息;通过预设主视角信息和三维场景交互信息计算得到视角变换信息,以根据所述视角变换信息进行三维场景视角变换。

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

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

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

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