买球官方网站-买球科技有限公司VR虚拟场景预览入口

网站导航

买球科技有限公司移动端Logo
导航菜单

新闻资讯

当前位置: 首页 > 新闻资讯 > 行业前沿
一种在三维场景中沿指定点漫游的方法与流程日期:2026-07-14 22:18:18

  

一种在三维场景中沿指定点漫游的方法与流程(图1)

  本发明涉及计算机图形学领域,特别是涉及一种在三维场景中沿指定点漫游的方法。

  现如今,将现实世界在三维场景中呈现的技术已经越来越成熟,在三维地理信息领域,可支持的数据类型也越来越多,比如矢量数据、模型数据、影像数据和地形数据,其中模型数据除了常见的人工模型数据,近年来又涌现了倾斜摄影数据、bim数据等。随着这些数据的接入,给大众呈现了一副绚丽多彩的虚拟现实三维场景。

  目前,在三维场景中已经有一套完善的漫游机制来保证用户和场景的交互。通过这套漫游机制,用户可以方便的对场景进行操作,随需查看场景。但仅仅有这套漫游机制,还不能满足市场对场景浏览查看的需求。人们往往希望通过在场景中选定一些指定点,使相机可以依据设置好的姿态和速度通过这些指定点,以达到观看场景的目的。而这种需求仅仅通过传统的漫游机制是不能满足的。

  因此,如何在三维场景中实现沿用户选定的指定点进行漫游,从而提升用户体验,是本领域技术人员需要解决的技术问题。

  本发明的目的是提供一种在三维场景中沿指定路径漫游的方法,用于在三维场景中实现沿用户选定的指定点位进行漫游,从而提升用户体验。

  为解决上述技术问题,本发明提供一种在三维场景中沿指定点漫游的方法,包括:

  依照所述运动模型和播放参数,控制所述视觉媒介在所述三维场景中沿所述指定路径进行漫游。

  在相邻两个点位之间采用直线连接,并在相邻的两条所述直线形成的转折处,用圆弧代替所述转折,从而生成所述指定路径。

  可选地,所述用户输入指令具体为:所述用户在所述三维场景中点取所述指定点或所述用户输入所述指定点的坐标。

  可选地,所述在三维场景中按所述指定路径和视角参数计算视觉媒介的运动模型具体包括:

  若是,则在三维场景中按所述指定路径和所述用户设置的视角参数计算视觉媒介的运动模型;

  若否,则在三维场景中按所述指定路径和默认的视角参数计算视觉媒介的运动模型。

  可选地,所述依照所述运动模型和播放参数,控制所述视觉媒介在所述三维场景中沿所述指定路径进行漫游具体包括:

  若是,则依照所述运动模型和所述用户设置的播放参数,控制所述视觉媒介在所述三维场景中沿所述指定路径进行漫游;

  若否,则依照所述运动模型和默认的播放参数,控制所述视觉媒介在所述三维场景中沿所述指定路径进行漫游。

  可选地,所述播放参数具体包括播放状态、播放模式和所述视觉媒介的移动参数。

  本发明所提供的在三维场景中沿指定路径漫游的方法,包括:接收用户输入指令,解析所述指令获得指定点的位置;根据所述指定点的位置和预定的插值算法获得相邻的指定点之间的插值点;连接所述指定点和所述插值点以生成指定路径;在三维场景中控制视觉媒介沿所述指定路径进行漫游。本发明提供的方法通过插值算法获得用户选择的指定点之间的插值点,从而形成指定路径,这样视觉媒介就可以沿用户指定的指定点进行漫游,从而在观看三维场景时获得了更好的观看体验。

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

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

  本发明的核心是提供一种在三维场景中沿指定路径漫游的方法,用于在三维场景中实现沿用户选定的指定点位进行漫游,从而提升用户体验。

  为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

  图1为本发明实施例提供的第一种在三维场景中沿指定点漫游的方法的流程图。如图1所示,在三维场景中沿指定路径漫游的方法包括:

  在具体实施中,对于步骤s10来说,可以为用户设置人机交互界面,用户在该界面中浏览三维场景,并且可以对浏览方式作出指示。用户想要浏览三维为用户设置的输入指令的方式可以有多种。

  可选地,为用户设置的输入指令的方式可以是在三维场景中点取指定点,或者输入指定点的坐标。

  具体地,可以给用户提供一个“沿指定点漫游”的选项,当用户点击该选项时,三维场景显示界面准备接受用户的点击,由于三维场景由无数个点组成,每个点在三维场景的预设坐标系中都具有自己的坐标,因此在用户点击指定点后,即可识别出该点的坐标,从而形成指定点的位置信息。也可以由外部导入指定点,如输入指定点的坐标,这里的坐标也需要基于三维场景的预设坐标系。还可以给三维场景中的事物设置关键词,用户可以输入关键词,根据关键词指示的事物的坐标获得指定点的位置。

  需要说明的是,不管用户用什么方式选择指定点,都有一个选点的顺序,根据用户选择指定点的时间先后顺序排列指定点的顺序,还可以为用户设置更改指定点顺序的选项。

  对于步骤s11来说,在三维场景中仅仅通过几个指定点往往不能直接形成漫游路径的,虽然相邻的两个指定点之间是直线连接,还需要补全这些直线上的插值点,当点与点之间的距离足够小时,才能生成指定路径。

  采用预定的插值算法可以获得相邻的指定点之间的插值点,可选用线性插值算法和三次样条插值算。可以根据实际场景效果,选择效果最佳的算法结果。相邻两个指定点之间的插值点的数量可以依据这两个指定点之间的距离确定,显然,距离越大,所需的插值点的数量越多。

  对于步骤s12来说,采取距离最短原则依次连接所有指定点和插值点从而生成指定路径。

  图2为本发明实施例提供的一种处理指定路径转折点的示意图。如图2所示,为了生成一条平滑的指定路径,使视觉媒介可以平滑地通过指定路径的转折点,可选地,在相邻两个点位之间采用直线连接,并在相邻的两条直线形成的转折处的硬性拐角,用圆弧代替转折,圆弧与转折点前后两段路径相切,例如,指定路径由原来的“1——2——3——4”转换为“1——6——7——8——3——9——10——11——4”。圆弧弧度等于指定路径转折点处拐角的补角,圆弧半径可根据平滑效果设置。一般来说圆弧上的点位即为处理后代替转折点的点位,但圆弧不能无限细分,细分程度由圆弧弧度决定,也可通过平滑效果进行设置决定。

  图3为本发明实施例提供的一种用圆弧代替转折的方法。请参见图2,p1、p2、p3均为指定路径上的指定点,处理方式为用圆弧v1v2v3代替折角v1p2v3,现要求取圆弧上顶点v1,v2,v3的坐标。v1、v3点为圆弧与关键路径的切点,v2点则为圆弧上介于v1、v3两点之间的任一点。

  由于p1、p2、p3坐标已知,则(已经过单位化处理)根据确定平面的方向量n(方向垂直纸面向内)。

  圆弧对应的圆心角大小已经确定,可以制定一种划分原则来确定圆弧细分程度。但不论以何种原则划分,与之间的夹角都是确定的。则v2的坐标可按下式求出:

  对于步骤s13来说,在三维场景中控制视觉媒介沿指定路径进行漫游即按指定路径播放三维场景,从而实现在三维场景中沿用户指定的点进行漫游。

  本发明实施例提供的在三维场景中沿指定路径漫游的方法,包括:接收用户输入指令,解析所述指令获得指定点的位置;根据所述指定点的位置和预定的插值算法获得相邻的指定点之间的插值点;连接所述指定点和所述插值点以生成指定路径;在三维场景中控制视觉媒介沿所述指定路径进行漫游。本方法通过插值算法获得用户选择的指定点之间的插值点,从而形成指定路径,这样视觉媒介就可以沿用户指定的指定点进行漫游,从而在观看三维场景时获得了更好的观看体验。

  s41:依照运动模型和播放参数,控制视觉媒介在三维场景中沿指定路径进行漫游。

  在具体实施中,对于步骤s40来说,在三维场景中视觉媒介的运动轨迹是通过运动模型描述的,这个运动模型规划了视觉媒介在运动过程中要经过的点与姿态。其中,视觉媒介在漫游时要经过的的点由指定路径而定,而在运动过程中的姿态主要有视角参数决定。因此需要根据指定路径和视角参数来计算视觉媒介的运动模型。

  图5为本发明实施例提供的一种控制视觉媒介视角的示意图。如图5所示,视角参数可以包括视觉媒介视线的方位角a、俯仰角p和视距m。这里的方位角的概念是一个相对量,是以视觉媒介前进方向为基准方向,顺时针转到视觉媒介的视线在xoy平面上的投影重合,所转过的角度,设视媒介所在位置为c点,则视线co在xoy平面上的投影与x轴正方向的夹角a即为方位角。如果要用左视角即从正左侧观察,需将方位角a设置为1.5π。俯仰角是以指定路径上的点o为站心确定的站心平面为基准,视线co与xoy平面的夹角p;视距m是指定路径上的点o与视觉媒介所在的点c之间的距离。上述点o为视觉媒介的视线与三维场景相交且距离最近的点。

  可以由用户自行设置视角参数的各个量,也可以让用户选择想用什么视角观看,并根据下表设置视角参数:

  以上表格给出的是常用的视角,在实际场景中可以改变视角参数达到灵活改变视角的目的,以便从多个角度观察。

  对于步骤s41来说,运动模型控制视觉媒介在运动过程中经过的点和姿态,播放参数包括了视觉媒介在运动过程中的速度等参数。通过运动模型和播放参数,就可以实现视觉媒介在三维场景中具有丰富多样的运动方式。

  本发明实施例提供的在三维场景中沿指定路径漫游的方法,具体通过在三维场景中按指定路径和视角参数计算视觉媒介的运动模型,并依照运动模型和播放参数控制视觉媒介在三维场景中沿指定路径进行漫游,实现了在三维场景中控制视觉媒介沿指定路径进行漫游。通过运动模型和视角参数控制视觉媒介在三维场景中漫游,使视觉媒介可以有丰富多彩的运动方式,从而丰富了用户的观看体验。

  图6为本发明实施例提供的一种步骤s40对应的流程图。如图6所示,在上述实施例的基础上,在另一实施例中,步骤s40具体包括:

  s60:判断用户输入的指令中是否还包括用户设置的视角参数;若是,则进入步骤s61;若否,则进入步骤s62。

  s61:在三维场景中按指定路径和用户设置的视角参数计算视觉媒介的运动模型。

  在具体实施中,可以让用户自行设置视角参数,也可以采用默认的视角参数。用户自行设置视角参数,可以是用户自己设置各视角参数(如方位角、俯仰角和视距)的值,也可以是用户选择想要以怎样的视角观看,根据预先设定的视角与参数值的对应关系生成视角参数。如果用户只设置了部分视角参数,其他视角参数可采用默认值。默认的视角参数可以是固定值,也可以是根据由用户选择的指定点生成的指定路径进行设置的,后者带来的用户体验更为优化。

  本发明实施例提供的在三维场景中沿指定路径漫游的方法,限定了视角参数生成的方式,可以让用户自行设置视角参数,也可以采用默认的视角参数,通过不同的方式生成视角参数,给用户丰富的观看体验。

  图7为本发明实施例提供的一种步骤s41对应的流程图。如图7所示,在上述实施例的基础上,在另一实施例中,步骤s41具体包括:

  s70:判断用户输入的指令中是否还包括用户设置的播放参数;若是,则进入步骤s71;若否,则进入步骤s72。

  s71:依照运动模型和用户设置的播放参数,控制视觉媒介在三维场景中沿指定路径进行漫游。

  s72:依照运动模型和默认的播放参数,控制视觉媒介在三维场景中沿指定路径进行漫游。

  在具体实施中,可以让用户自行设置播放参数,也可以在生成运动模型后控制视觉媒介自动开始漫游。

  播放状态可以包括开始、暂停、停止三种状态。可以由用户点击开始,也可以自动开始。开始后,视觉媒介从当前路径位置开始沿指定路径漫游。暂停即在视觉媒介漫游过程中,停止在当前位置,再次切换到开始状态时,从当前位置开始漫游。停止即视觉媒介返回开始位置,再次切换到开始状态时,视觉媒介从开始位置开始漫游。可选地,还可以包括快进、快退状态。

  播放模式可以包括单次播放、往返播放、循环播放三种状态。单次播放即为视觉媒介从指定路径的起始位置移动到终止位置,结束播放;往返播放即为视觉媒介从指定路径的起始位置移动到终止位置,然后从终止位置回到起始位置,结束播放;循环播放即为视觉媒介从指定路径的起始位置移动到终止位置,然后重复这一过程循环播放。若用户未设置播放模式,可以默认采用单次播放模式。

  视觉媒介的移动参数可以包括视觉媒介移动的速度和加速度。考虑到视觉媒介漫游过程中的体验要与在真实世界中一致,可选用经典匀加速模型v=v0+at控制视觉媒介移动的速度。视觉媒介的移动参数的默认值可以是速度为12.5m/s,加速度为0的匀速运动。可选地,可以让用户设置在不同路段采用不同的速度、加速度通过,或者在漫游过程中视觉媒介先由静止状态加速,到达某个值后匀速运动一段时间,然后减速直至到达终点停止,从而模拟真实世界中的场景。

  本发明实施例提供的在三维场景中沿指定路径漫游的方法,限定了设置播放参数的方式,可以让用户自行设置播放参数,也可以采用默认的播放参数,给用户提供了多种播放方式,丰富了用户的观看体验。

  在上述实施例的基础上,视觉媒介可以是相机。在三维场景中漫游的视觉媒介通常为相机,也可以是别的工具。

  以上对本发明所提供的在三维场景中沿指定路径漫游的方法进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

  还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。