用于场景切换的方法、装置、设备和存储介质与流程

文档序号:31853142发布日期:2022-10-19 01:48阅读:38来源:国知局
用于场景切换的方法、装置、设备和存储介质与流程

1.本公开的示例实施例总体涉及计算机领域,特别地涉及用于场景切换的方法、装置、设备和计算机可读存储介质。


背景技术:

2.随着计算机技术的发展,各种类型的场景展示应用层出不穷。例如游戏、模拟演练、地图等应用已经能够为用户提供丰富的场景。这些场景展示应用往往能够呈现出多种多样的不同的场景。有时用户可能期望在不同的场景间进行切换。例如,用户可能在查看当前场景的过程中,期望切换到不同的场景进行查看。因此,希望能够提供有效的场景切换的方法。


技术实现要素:

3.在本公开的第一方面,提供了一种用于场景切换的方法。该方法包括响应于场景切换指令,确定已呈现的源场景与待呈现的目标场景之间的共同区域。该方法还包括将用于源场景的源视点的位置改变到对应于共同区域的目标位置,以作为用于目标场景的目标视点的位置。该方法还包括分别以第一透明度和第二透明度呈现源场景和目标场景。该方法还包括通过调整第一透明度和第二透明度,使目标场景渐入呈现以取代源场景。
4.在本公开的第二方面,提供了一种用于场景切换的装置。该装置包括共同区域确定模块,被配置为响应于场景切换指令,确定已呈现的源场景与待呈现的目标场景之间的共同区域。该装置还包括视点位置改变模块,被配置为将用于源场景的源视点的位置改变到对应于共同区域的目标位置,以作为用于目标场景的目标视点的位置。该装置还包括场景呈现模块,被配置为分别以第一透明度和第二透明度呈现源场景和目标场景。该装置还包括透明度调整模块,被配置为通过调整第一透明度和第二透明度,使目标场景渐入呈现以取代源场景。
5.在本公开的第三方面,提供了一种电子设备。该设备包括至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。指令在由至少一个处理单元执行时使设备执行第一方面的方法。
6.在本公开的第四方面,提供了一种计算机可读存储介质。介质上存储有计算机程序,计算机程序可由处理器执行以实现第一方面的方法。
7.应当理解,本发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键特征或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。
附图说明
8.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
9.图1示出了本公开的实施例能够在其中实现的示例环境的示意图;
10.图2示出了根据本公开的一些实施例的用于场景切换的过程的流程图;
11.图3a和图3b示出了根据本公开的一些实施例的示例场景的示意图;
12.图4a至图4f示出了根据本公开的一些实施例的场景切换过程中的示例场景的示意图;
13.图5示出了根据本公开的一些实施例的用于场景切换的装置的框图;以及
14.图6示出了能够实施本公开的多个实施例的电子设备的框图。
具体实施方式
15.下面将参照附图更详细地描述本公开的实施例。虽然附图中示出了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
16.在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“一些实施例”应当理解为“至少一些实施例”。下文还可能包括其他明确的和隐含的定义。
17.可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
18.可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当根据相关法律法规通过适当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
19.例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息,从而使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
20.作为一种可选的但非限制性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式,例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或“不同意”向电子设备提供个人信息的选择控件。
21.可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其他满足相关法律法规的方式也可应用于本公开的实现方式中。
22.图1示出了本公开的实施例能够在其中实现的示例环境100的示意图。在该示例环境100中,电子设备110可以呈现场景,例如源场景120。在一些实施例中,源场景120可以由电子设备110中的例如场景编辑应用或者场景演示应用提供。源场景120可以具有适合于电子设备110的显示区域大小的显示区域面积,或者具有其他适当的预定的或由用户指定的显示区域面积。
23.在一些实施例中,用户102可以与电子设备110进行交互。例如,用户102可以通过与电子设备110交互,来对源场景120进行各种交互操作。又如,用户102可以通过与电子设
备110交互,来从当前的源场景120切换至另一不同的场景,例如目标场景130。
24.源场景120和目标场景130可以包括任意的场景。例如,源场景120或目标场景130可以包括全景鸟瞰的三维的场景。又如,源场景120或目标场景130可以包括室内场景、室外场景,等等。在一些实施例中,电子设备110可以基于存储在电子设备110中或者存储在与电子设备110可通信的诸如云存储中的各个模型、纹理等,来呈现源场景120或目标场景130。在本文中,源场景120或目标场景130中呈现出的模型可以是任意适于呈现的二维、三维或者多维的模型格式。源场景120或目标场景130中呈现出的纹理可以是各种类型的纹理贴图,例如静态图像或者动态图像,等等。电子设备110可以基于任意适当的模型渲染引擎,例如开放图形库(opengl)、directx、web图形库(例如,webgl)等来渲染模型,以呈现出源场景120或目标场景130。本公开的实施例在这些方面均不受限制。
25.应理解,图1中呈现的源场景120和目标场景130仅仅是示例性的,而不是限制性的,源场景120和目标场景130中可以呈现任何适当的场景或画面。
26.电子设备110可以是任意类型的移动终端、固定终端或便携式终端,包括移动手机、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、媒体计算机、多媒体平板、个人通信系统(pcs)设备、个人导航设备、个人数字助理(pda)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者前述各项的任意组合,包括这些设备的配件和外设或者其任意组合。在一些实施例中,电子设备110也能够支持任意类型的针对用户的接口(诸如“可佩戴”电路等)。
27.应当理解,仅出于示例性的目的描述环境100的结构和功能,而不暗示对于本公开的范围的任何限制。
28.如前所述,各种类型的场景展示应用,诸如游戏、模拟演练、地图展示等等,已经为用户提供了丰富的场景。有时,用户可能会在查看某个场景的过程中,想要切换到另一场景进行查看。例如,在全景鸟瞰中,往往需要多个不同的视点来全方位展示全景的信息。各个视点可以对应于不同的场景。用户经常会选择在不同的视点(即,不同的场景)间进行切换。一种场景切换的常规方案是对呈现的场景直接进行切换。这种直接切换会带给用户较大的视觉差异,用户体验感不好。
29.综上所述,希望能够提出有效的场景切换方案,能够在诸如全景鸟瞰中进行流畅的场景切换,减少切换过程中的视觉差异。
30.根据本公开的实施例,提出了一种改进的场景切换的方案。在该方案中,通过确定已呈现的源场景与待呈现的目标场景之间的共同区域,将源场景的源视点与目标场景的目标视点均改变到对应于共同区域的位置,从而减少视觉差异。此外,通过调整源场景和目标场景各自的透明度,来使目标场景渐入呈现以取代源场景。该方案能够减少在不同场景的切换过程中的视觉差异,从而保证丝滑、流畅的场景切换,进而提高用户体验感。
31.图2示出了根据本公开的一些实施例的用于场景切换的过程200的流程图。过程200可以在电子设备110处实现。为便于讨论,将参考图1的环境100来描述过程200。
32.在框210处,电子设备110检测场景切换指令。例如,电子设备110可以在页面上呈现源场景120的同时,检测场景切换指令。在一些实施例中,场景切换指令可以包括用户102对不同场景的选择。附加地或备选地,在一些实施例中,不同的场景分别对应于不同的视点。例如,与某个场景相关联的视点可以是该场景中的某个感兴趣点。又如,与某个场景相
关联的视点可以是该场景中的多个感兴趣点的中心位置。与场景相关联的视点可以被任意设置,本公开的实施例在此方面不受限制。在场景与视点相关联的实施例中,场景切换指令还可以包括用户102对不同视点的选择。在本文中,“场景切换”也被称为“视点切换”,“场景切换指令”也被称为“视点切换指令”。
33.例如,用户102可以利用诸如鼠标、指点设备、触控笔、手指等等方式,或者利用语音控制、手势控制等等,对期望呈现的目标场景进行选择,或者对与目标场景相关联的目标视点进行选择。例如,可以在场景展示页面中呈现诸如下拉菜单或者弹出菜单,以呈现多个候选场景或者候选视点。用户102可以通过对菜单中的目标场景或者目标视点进行选择,来触发场景切换指令。又如,在全景鸟瞰的场景页面中,可以在不同位置呈现出不同的视点(例如,感兴趣点)。这些视点对应不同的场景。用户102可以通过选择某个视点来触发场景切换指令。应理解,以上所列举的目标场景或目标视点的选择方式仅是示例性的,用户对场景或视点的选择方式在此不受限制。电子设备110可以通过检测用户102对场景或视点的选择,检测场景切换指令。如果电子设备110检测到对与当前呈现的场景不同的场景的选择,则电子设备110检测到场景切换指令。
34.附加地或备选地,在一些实施例中,可以通过选择不同的场景展示模式,来触发场景切换指令。例如,在全景鸟瞰的场景展示示例中,场景切换指令例如可以包括由鸟瞰场景模式切换到北侧或者其他位置展示的模式。
35.在一些实施例中,场景切换指令的触发方式还可以包括对场景切换控件的点击或选择,以语音等其他方式触发,等等。其他触发方式例如可以包括但不限于语音控制指令、硬件按键的触发、在特定页面中的特定手势(例如,滑动手势),等等。以上列举了场景切换指令的若干触发方式,应理解,上述示例触发方式仅仅是示例性的,而不是限制性的。场景切换指令的触发方式不受限制。电子设备110可以对上述各种不同触发方式触发的场景切换指令进行检测。
36.在框220处,电子设备110确定是否检测到场景切换指令。如果电子设备110在框220处没有检测到场景切换指令,则电子设备110可以在框210处继续在检测场景切换指令。例如,如果在源场景120的呈现页面中没有检测到场景切换指令,可以维持源场景120的呈现,并且周期性或以其他方式继续检测场景切换指令。如果在源场景120的呈现页面中检测到其他指示,可以根据其他指示来执行相应操作。
37.反之,如果电子设备110在框220处检测到场景切换指令,则电子设备110在框230处确定已呈现的源场景120与待呈现的目标场景130之间的共同区域。例如,共同区域可以是源场景120与目标场景130两者都包括的对象、物品、人物、建筑、道路,等等。
38.在一些实施例中,可以对源场景120和目标场景130各自包括的内容进行相似度比较,以确定出共同区域。场景中所包括的内容可以包括例如标签、全景图、道路,等等。这些内容或数据可以被保存在电子设备110的存储器中,或者可以被保存在与电子设备110可通信的外部存储设备中。可以通过对与场景相关联的内容或数据进行分析,从而获取两个场景间的共同区域。
39.在一些实施例中,可以将源场景120与目标场景130都包括的对象或模型确定为属于共同区域。又如,可以将源场景120与目标场景130中相似度超过阈值(例如,90%或者其他适当的数值)的区域确定为共同区域。
40.附加地或备选地,在一些实施例中,可以拍摄两张含有部分全景内容的全景图作为源场景120(或源视点)与目标场景130(或目标视点)的全景。电子设备110可以将这两张全景图中的共同全景(例如,共同区域或者同一位置)确定为共同区域。
41.图3a和图3b分别示出了根据本公开的一些实施例的呈现了示例源场景120的页面300和呈现了示例目标场景130的页面350的示意图。在源场景120的页面300中,示出了若干建筑物、植物、设施,等等。在目标场景130的页面350中,示出了若干建筑物、植物、道路,等等。在图3a和图3b的示例中,电子设备110可以确定出源场景120与目标场景130的共同区域是共同区域360。
42.在一些实施例中,在源场景120的页面300和目标场景130的页面350中,各自可以布置有关闭控件301。电子设备110可以检测对关闭控件301的触发指示,以将对应的场景进行关闭。附加地或备选地,页面300和/或页面350还可以布置有导航控件(未示出),诸如可以上下左右旋转的旋转控件或者上下左右平移的平移控件等,以对呈现的场景的区域进行定位,等等。此外,页面300和/或页面350中还可以布置有缩放控件(未示出),以对呈现的场景进行缩放。页面300中还可以呈现有与源场景120相关联的源视点以及与其他场景相关联的其他视点,以供用户102对视点或场景进行选择。类似地,页面350中还可以呈现有与目标场景130相关联的目标视点以及与其他场景相关联的其他视点,以供用户102对视点或场景进行选择。附加地或备选地,页面300和页面350中还可以呈现有场景切换控件,以用于由用户102对场景切换进行触发。
43.应理解,图3a和图3b中示出的场景和页面以及下文中将描述的其他附图中的场景和页面仅仅是示例,实际可以存在各种不同的场景或页面。场景中的目标区域内的各个图形元素可以具有不同的布置和不同的视觉表示,其中的一个或多个元素可以省略或被替换,并且还可以存在一个或多个其他元素。图3a中示出的源场景可以是源场景120中的一部分。类似地,图3b中示出的目标场景可以是目标场景130中的一部分。源场景120和目标场景130可以具有未被示出的部分。本公开的实施例在此方面不受限制。
44.继续参考图2。在框240处,电子设备110将用于源场景120的源视点的位置改变到对应于共同区域的目标位置,以作为用于目标场景130的目标视点的位置(也称为目标视点的初始视角)。通过将源视点和目标视点均移动至目标位置,可以场景切换过程中,用户看到的是同一位置或者区域,从而不会感到图像特别跳跃。以此方式,能够提高用户体验。
45.在一些实施例中,电子设备110可以将源视点的位置,即,与源视点相关联的相机的位置匀速调整至目标位置。目标位置可以是共同区域的中心位置或者其他预定位置。备选地,目标位置也可以是共同区域中感兴趣点(poi)的位置,或者是共同区域中多个感兴趣点的中心位置,等等。
46.在一些实施例中,电子设备110可以将源视点沿着源场景120的包围区域(例如,天空盒、天空球或者其他适当的包围区域)的面上的、从源视点的当前位置到目标位置的最短路径,以预定的速度或者按照预定的时间,移动到目标位置。例如,可以在天空盒或者天空球的表面沿着最短距离将源视点移动到目标位置。以包围区域为天空球为例,可以将源视点的当前位置和目标位置分别以球面坐标系来表示。通过求两个球面坐标的差值,可以找到最短路径(也称为最短运动路径)。在一些实施例中,根据两个球面坐标的差值,可以确定出多于一个路径。在这种情形下,电子设备110可以对这些路径的长度进行比较,以确定出
最短路径。
47.在一些实施例中,可以预先设置源视点的移动时间。电子设备110可以在该移动时间内将源视点匀速地或者变速地将与源场景相关联的相机的视点改变为上述两个球面坐标的差值,以将源视点移动到目标位置。在一些实施例中,源视点的移动速度可以被预先设置。例如,源视点可以匀速地被移动到目标位置。附加地或备选地,源视点移动的速度可以是任意变化的,例如,可以先快后慢,也可以先慢后快,再慢再停,等等。本公开的实施例在此方面不受限制。
48.在框250处,电子设备110分别以第一透明度和第二透明度呈现源场景120和目标场景130。例如,电子设备110可以分别以第一透明度和第二透明度,并且以上述描述的目标位置作为源视点和目标视点,来呈现源场景120和目标场景130。
49.在一些实施例中,透明度可以是在预定范围内的某个数值。预定范围例如可以是大于等于0并且小于等于1的范围或者其他任何适当的数值范围。在一些实施例中,透明度的值越大表示呈现的内容越不透明。反之,透明度的值越小,则表示呈现的内容越透明。例如,在预定范围为0至1的示例中,透明度为1表示呈现的内容不透明,而透明度为0则表示呈现的内容是完全透明的。备选地,在一些实施例中,也可以采用较大的透明度来表示较透明,而采用较小的透明度来表示较不透明。在本文中,除非另有说明,否则以预定范围为0至1,且越大的透明度数值表示越不透明为例进行描述。应理解,在未检测到场景切换指令时,电子设备110可以以值为1的第一透明度来呈现源场景120。
50.在框260处,电子设备110通过调整第一透明度和第二透明度,使目标场景130渐入呈现以取代源场景120。例如,响应于场景切换指令,电子设备110可以以逐渐减小的第一透明度来呈现源场景120,并且以逐渐增大的第二透明度来呈现目标场景130。以这种方式,能够使源场景120慢慢消失的同时,目标场景130慢慢地出现。
51.可以采用任意适当的规则或方式来对第一透明度和第二透明度进行调整。例如,可以匀速地减小第一透明度并且增大第二透明度。附加地或备选地,在一些实施例中,电子设备110可以确定与目标场景130相关联的资源是否已经被加载。如果确定与目标场景130相关联的资源已经被加载,则电子设备110开始减小第一透明度。换句话说,在场景切换过程中,电子设备110先将目标场景130的资源或数据加在到存储器(例如,内存)中,然后把目标场景130渲染出来,而不进行显示。此时,电子设备110的存储器(例如,内存)中包括源场景120和目标场景130两者的数据。在目标场景130的数据加载完成之后,再慢慢地使源场景120的透明度慢慢变没,并且使目标场景130慢慢地全部显示。以此方式,可以确保在场景切换过程中,用户不会感到呈现的画面出现跳跃,从而提高用户体验。
52.附加地或备选地,在一些实施例中,电子设备110可以检测源场景120的第一透明度是否被减小到第一预定值。如果确定源场景120的第一透明度被减小至第一预定值,则电子设备110以被设定为第一预定值的第二透明度呈现目标场景130。例如,第一预定值可以是0.5或者其他适当的数值。通过使源场景120的第一透明度或者源场景120的图层的第一透明度减至第一预定值时,以第一预定值呈现目标场景130(即,将目标场景130的图层的第二透明度设置为第一预定值),可以避免呈现的场景出现跳跃,从而减小场景切换过程中的视觉差异。电子设备110进而可以将源场景120的第一透明度匀速减至0,并且将目标场景130的第二透明度匀速增至1。附加地或备选地,电子设备110还可以将具有为0的第一透明
度的源场景120的数据或资源进行移除。例如,可以将源场景120的所有图层的数据进行移除或者隐藏。
53.在一些实施例中,电子设备110可以预先确定第一透明度的变化速度和第二透明度的变化速度。例如,电子设备110可以基于源场景120与目标场景130的相似度来确定上述变化速度。如果源场景120与目标场景130非常相似,则可以将第一透明度快速减小,并且将第二透明度快速增大。反之,如果源场景120与目标场景130差异较大,则可以缓慢减小第一透明度,并且缓慢增大第二透明度。应理解,电子设备110还可以采用其他规则来预先设备第一透明度和/或第二透明度的变化规则。
54.以上描述了通过移动视点以及调整透明度进行场景切换的若干示例,接下来将结合图4a至图4f描述更多的场景切换的示例。如前所述,在一些实施例中,电子设备110将源场景120的源视点移动到目标位置。在图4a的页面400中,源场景120的源视点被移动至目标位置。经过移动源视点,源场景120的部分源场景410被呈现在页面400中。在页面400中,源场景120与目标场景130之间的共同区域360被呈现在页面400的显著位置,例如中心位置。
55.应理解,在一些实施例中,源场景120可以包括除图3a中呈现的部分之外的其他未呈现部分。当源场景120的源视点被移动之后,除了部分源场景410被呈现在页面400中之外,在页面400的右侧空白部分,还可以呈现源场景的位于图3a中呈现的部分的右侧的未呈现的部分。在本文中,出于解释说明的目的,没有对源场景120的其他未呈现部分进行展示。
56.在一些实施例中,当目标场景130的资源或数据已经被加载,电子设备110将逐渐减小源场景120的第一透明度。例如,可以在0.5秒或者其他适当的时长内,将源场景120的第一透明度由1渐变为0。与之同时,电子设备110可以逐渐地增大目标场景130的第二透明度。例如,在图4b至图4d的示例中,部分源场景410的第一透明度被逐渐减小,而目标场景130的部分目标场景420的第二透明度被由0逐渐增大。即,部分源场景410变得逐渐不清晰,而部分目标场景420变得逐渐清晰。
57.在一些实施例中,在源场景120消失前,电子设备110可以基于预定的第一变化速度逐渐增大第二透明度。例如,电子设备110可以以较快的第一变化速度增大第二透明度。例如,可以在0.3秒或者其他适当的时长内将第二透明度由0变得0.5或者其他适当的数值。以此方式,能够确保源场景120完全消失前,目标场景130已经进入用户的视野。
58.附加地或备选地,在一些实施例中,如果源场景120不再被呈现,电子设备110可以确定目标场景130的第二透明度的值是否超过第一阈值。例如,第一阈值可以是0.75或者其他适当的数值。如果第二透明度的值未超过第一阈值,则电子设备110可以以第二变化速度逐渐增大第二透明度的值。例如,电子设备110可以以匀速在0.5秒或者其他时长内以第二变化速度逐渐增大第二透明度的值。以此方式,能够确保用户102有足够的时间接受和理解目标场景。
59.在一些实施例中,如果第二透明度的值超过了第一阈值,电子设备110可以以大于第二变化速度的第三变化速度逐渐增大第二透明度的值。例如,电子设备110可以以较快的第三速度将第二透明度增大至1。以此方式,能够在用户已基本理解目标场景的情况下,尽快完成场景切换,从而降低用户的等待时间。
60.在图4e的页面400中,源场景120已经不再呈现,页面400中仅呈现了部分目标场景420。应理解,在一些实施例中,目标场景130可以包括除图3b中呈现的部分之外的其他部
分。当目标场景130的目标视点被移动之后,除了部分目标场景420被呈现在页面400中之外,在页面400的左侧空白部分,还可以呈现目标场景的位于图3b中呈现的部分的左侧的未呈现的部分。在本文中,出于解释说明的目的,没有对目标场景130的其他未呈现部分进行展示。
61.在一些实施例中,电子设备110还可以将目标场景130的目标视点由先前确定的目标位置移动至与目标场景130相关联的目标聚焦位置。例如,电子设备110可以基于与目标场景130相关联的至少一个感兴趣点的位置,确定与目标场景130相关联的目标聚焦位置。与目标场景130相关联的至少一个感兴趣点可以是在筛选目标场景的全景图时,从全景图层中筛选处的一个或多个感兴趣点。
62.在一些实施例中,电子设备110可以将目标视点从目标位置改变到目标聚焦位置。目标视点位于目标聚焦位置时,至少一个感兴趣点被呈现在目标场景130的中央区域。以此方式,能够尽可能地将至少一个感兴趣点放在呈现的目标场景130的画面的显著区域,例如中心位置。例如,在图4f的示例中,目标场景130中具有感兴趣点450。当目标视点位于目标聚焦位置处时,感兴趣点450或者与感兴趣点450相关联的对象被呈现在页面400的中心区域。
63.在一些实施例中,如果源场景120不再被呈现,电子设备110可以将目标视点由目标位置匀速地移动至目标聚焦位置。例如,可以以预定的移动速度将目标视点移动至目标聚焦位置。
64.附加地或备选地,在一些实施例中,在源场景120仍被呈现的同时,电子设备110可以以第一移动速度将目标视点向目标聚焦位置移动。第一移动速度可以非常缓慢。例如,可以在检测到场景切换指令后的0.5秒或其他时长内,在源场景120尚未完全消失前,以较慢的第一移动速度移动目标视点(例如,与目标视点相关联的相机)。以此方式,能够保证后续目标视点移动(或相机移动)有足够的变化给用户102以感知。
65.附加地或备选地,如果源场景120不再被呈现,电子设备110可以确定第二透明度的值是否超过第二阈值。第二阈值可以是0.75或者其他适当的数值。如果第二透明度的值未超过第二阈值,电子设备110可以以大于第一移动速度的第二移动速度将目标视点向目标聚焦位置移动。例如,电子设备110可以以第二移动速度匀速的移动与目标视点相关联的相机。如果第二透明度的值超过第二阈值,电子设备110可以以大于第二移动速度的第三移动速度将目标视点向目标聚焦位置移动。例如,电子设备110可以以较快的第三移动速度将与目标视点相关联的相机移动到目标聚焦位置。以此方式,能够尽快完成视点的切换,从而减低用户的等待时间。
66.以此方式,能够将目标场景130内的感兴趣点尽可能地呈现在页面的中心位置。在一些场景展示中,例如全景鸟瞰中,通常会利用感兴趣点来提供多维度的信息展示。如果场景中的感兴趣点过于分散,则不便于用户查看和探索。因此,本方案的这种将感兴趣点集中呈现在页面的中心位置的方式,能够避免感兴趣点过于分散,从而便于用户查看和探索。
67.应理解,虽然在图4a至图4f的示例中,均以图3a和图3b中呈现的源场景和目标场景为例进行了描述。但在一些实施例中,源场景和目标场景可以是任意的场景。源场景和目标场景可以是局部区域的场景,也可以是覆盖全景区域的场景。源场景和目标场景可以是室内的场景,也可以是户外的场景。本公开的实施例在此方面不受限制。应理解,本文中所
列举的各个透明度的数值、阈值的数值或者时长的大小仅仅是示例性的,而不是限制性的。这些数值或者时长都可以被任意设置。
68.根据本方案,能够通过确定源场景与目标场景间的共同区域来移动源场景的源视点并且确定目标场景的目标视点的初始位置。以此方式,能够减少场景切换过程中的视觉差异。此外,本方案通过逐渐调整源场景和目标场景的透明度,来使目标场景渐入呈现以取代源场景,这种渐入呈现的场景切换方式实现了流畅且丝滑的场景切换,从而提高用户体验。
69.图5示出了根据本公开的某些实施例的用于场景切换的装置500的示意性结构框图。装置500可以被实现为或者被包括在电子设备110中。装置500中的各个模块/组件可以由硬件、软件、固件或者它们的任意组合来实现。
70.如图所示,装置500包括共同区域确定模块510,被配置为响应于场景切换指令,确定已呈现的源场景120与待呈现的目标场景130之间的共同区域。例如,共同区域可以包括源场景120与目标场景130均包括的对象,例如,建筑、物品、人物、道路,等等。
71.装置500还包括视点位置改变模块520,被配置为将用于源场景120的源视点的位置改变到对应于共同区域的目标位置,以作为用于目标场景130的目标视点的位置。例如,视点位置改变模块520可以被配置为:将源视点沿着源场景120的包围区域的面上的、从源视点的当前位置到目标位置的最短路径,以预定的速度或者按照预定的时间,移动到目标位置。
72.装置500还包括场景呈现模块530,被配置为分别以第一透明度和第二透明度呈现源场景120和目标场景130。在一些实施例中,场景呈现模块530可以包括目标场景呈现模块,被配置为响应于源场景120的第一透明度被减小至第一预定值,以被设定为第一预定值的第二透明度呈现目标场景130。例如,第一预定值可以是0.5或者其他适当的数值。
73.装置500还包括透明度调整模块540,被配置为通过调整第一透明度和第二透明度,使目标场景130渐入呈现以取代源场景120。在一些实施例中,透明度调整模块540包括第二透明度调整模块,被配置为在源场景120仍被呈现的同时,基于预定的第一变化速度逐渐增大第二透明度。第一变化速度可以是较快的速度,例如在0.3秒内将第二透明度由0变为0.5的速度或者其他适当的速度。附加地或备选地,在一些实施例中,透明度调整模块540包括第一透明度调整模块,被配置为响应于确定与目标场景130相关联的资源已经被加载,减小第一透明度。
74.附加地或备选地,在一些实施例中,透明度调整模块540可以包括第一阈值比较模块,被配置为响应于源场景120不再被呈现,确定第二透明度的值是否超过第一阈值。透明度调整模块540还包括第一增大模块,被配置为响应于第二透明度的值未超过第一阈值,以第二变化速度逐渐增大第二透明度的值。透明度调整模块540还包括第二增大模块,被配置为响应于第二透明度的值超过第一阈值,以大于第二变化速度的第三变化速度逐渐增大第二透明度的值。
75.在一些实施例中,装置500还包括聚焦位置确定模块,被配置为基于与目标场景130相关联的至少一个感兴趣点的位置,确定与目标场景130相关联的目标聚焦位置。附加地或备选地,装置500还包括视点移动模块,被配置为将目标视点从目标位置改变到目标聚焦位置。目标视点位于目标聚焦位置时,至少一个感兴趣点被呈现在目标场景130的中央区
域。
76.例如,在一些实施例中,视点移动模块可以包括第一移动模块,被配置为在源场景120仍被呈现的同时,以第一移动速度将目标视点向目标聚焦位置移动。视点移动模块还可以包括第二阈值比较模块,被配置为响应于源场景120不再被呈现,确定第二透明度的值是否超过第二阈值。视点移动模块还包括第二移动模块,被配置为响应于第二透明度的值未超过第二阈值,以大于第一移动速度的第二移动速度将目标视点向目标聚焦位置移动。视点移动模块还包括第三移动模块,被配置为响应于第二透明度的值超过第二阈值,以大于第二移动速度的第三移动速度将目标视点向目标聚焦位置移动。
77.图6示出了示出了其中可以实施本公开的一个或多个实施例的电子设备600的框图。应当理解,图6所示出的电子设备600仅仅是示例性的,而不应当构成对本文所描述的实施例的功能和范围的任何限制。图6所示出的电子设备600可以用于实现图1的电子设备110。
78.如图6所示,电子设备600是通用电子设备的形式。电子设备600的组件可以包括但不限于一个或多个处理器或处理单元610、存储器620、存储设备630、一个或多个通信单元640、一个或多个输入设备650以及一个或多个输出设备660。处理单元610可以是实际或虚拟处理器并且能够根据存储器620中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高电子设备600的并行处理能力。
79.电子设备600通常包括多个计算机存储介质。这样的介质可以是电子设备600可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器620可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(ram))、非易失性存储器(例如,只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存)或它们的某种组合。存储设备630可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如用于训练的训练数据)并且可以在电子设备600内被访问。
80.电子设备600可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图6中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器620可以包括计算机程序产品625,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实施例的各种方法或动作。
81.通信单元640实现通过通信介质与其他电子设备进行通信。附加地,电子设备600的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,电子设备600可以使用与一个或多个其他服务器、网络个人计算机(pc)或者另一个网络节点的逻辑连接来在联网环境中进行操作。
82.输入设备650可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备660可以是一个或多个输出设备,例如显示器、扬声器、打印机等。电子设备600还可以根据需要通过通信单元640与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与电子设备600交互的设备进行通信,或者与使得电子设备600与一个或多个其他电子设备通信的任何设备(例如,网卡、调制解调器等)进行通
信。这样的通信可以经由输入/输出(i/o)接口(未示出)来执行。
83.根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,还提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,而计算机可执行指令被处理器执行以实现上文描述的方法。
84.这里参照根据本公开实现的方法、装置、设备和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
85.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
86.可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
87.附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
88.以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1