CN103345507B - 一种基于碰撞盒原理动态加载三维地图的方法 - Google Patents

一种基于碰撞盒原理动态加载三维地图的方法 Download PDF

Info

Publication number
CN103345507B
CN103345507B CN201310279377.0A CN201310279377A CN103345507B CN 103345507 B CN103345507 B CN 103345507B CN 201310279377 A CN201310279377 A CN 201310279377A CN 103345507 B CN103345507 B CN 103345507B
Authority
CN
China
Prior art keywords
file
data
terrain file
crash box
terrain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201310279377.0A
Other languages
English (en)
Other versions
CN103345507A (zh
Inventor
俞文生
杨志峰
刘学增
杨伟
薛飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JIANGXI TRANSPORT CONSULTATION CO Ltd
Original Assignee
JIANGXI TRANSPORT CONSULTATION CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JIANGXI TRANSPORT CONSULTATION CO Ltd filed Critical JIANGXI TRANSPORT CONSULTATION CO Ltd
Priority to CN201310279377.0A priority Critical patent/CN103345507B/zh
Publication of CN103345507A publication Critical patent/CN103345507A/zh
Application granted granted Critical
Publication of CN103345507B publication Critical patent/CN103345507B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明涉及一种基于碰撞盒原理动态加载三维地图的方法,该方法包括以下步骤:将各级地形模型切割分块多个地形文件导入服务器,且每个文件具有相应的碰撞盒,将其编号数据录入到数据库;采集当前摄像机所在的碰撞盒信息,判断本地缓存区中是否存在相应的地形文件,若是,则直接在网页中加载显示,若否,则将碰撞盒信息反馈给数据库,数据库根据编号数据获取需下载的文件数据,并传输给服务器;服务器根据接收到的文件数据下载相应区域的数据,并在网页中加载显示,同时将文件保存至本地缓存区。与现有技术相比,本发明方法简单、成本低,可实现类似LOD效果,尤其解决因带宽不足导致长时间等待地形加载的问题,减少电脑资源的消耗。

Description

一种基于碰撞盒原理动态加载三维地图的方法
技术领域
本发明涉及一种三维地图加载技术,尤其是涉及一种基于碰撞盒原理动态加载三维地图的方法。
背景技术
上世纪八十年代,Jaron Lanier提出了"虚拟现实"VR(Virtual Reality)的观点,以提供更好的视觉体验。VR技术初期是为美国军方服务,随着时代发展,如今以更优异的效果及用户体验慢慢被用户接受,三维地图展示便是其中之一,不过由于当今网络带宽的局限及计算机性能限制,优秀的三维效果文件往往作为本地资源加载,而且要求机器性能优秀,若网络传输则会出现等待很久或者效果不佳的情况,乃至用户失去使用的兴趣。这时“瓦片贴图”技术和“街景”技术应运而生。“瓦片贴图”技术是“异步加载”技术的演变,它利用多层多块的特点,将一整片贴图切割成大量相同大小的文件,将其信息保存至数据库,并且根据算法显示相应区域,做到保证效果的同时也大大减少了用户的等待时间和电脑系统消耗。缺点在于切割算法过于复杂,不易实现。而“街景”技术的实现更为方便,直接用六台摄像机获取上、下、左、右、前、后六个方向的图像,将其合称为一张街景图,在图中保留GPS信息或别的方式实现地图浏览时的定位,缺点是单张图较大,显示效果较为简单。目前动态加载三维地图的方式中,较好的是“瓦片贴图”技术。当前运用“瓦片贴图”效果的实例有谷歌地球,百度地图等,效果不错,用户体验较好,不过为了实现如此的效果,需要大量的人员投入以及复杂的算法支持,这类效果不是普通公司有能力掌握。
三维地图不同于平面地图,其能让用户身临其境,获得更好的用户体验。将来,随着网络带宽的增加,计算机性能的发展,三维地图将提供更优异的显示效果,还能更直观快速的提供周围参照物信息,其将进入每一个平台,成为将来人们生活中必需的功能。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种方法简单、成本低的基于碰撞盒原理动态加载三维地图的方法,解决了加载地形文件时的长时间等待与较好效果之间的矛盾。
本发明的目的可以通过以下技术方案来实现:
一种基于碰撞盒原理动态加载三维地图的方法,该方法包括以下步骤:
1)按照需求获取多级地形模型;
2)将各级地形模型切割分块多个地形文件导入服务器,且每个文件具有相应的碰撞盒,将其编号数据录入到数据库;
3)采集当前摄像机所在的碰撞盒信息,判断本地缓存区中是否存在相应的地形文件,若是,则直接在网页中加载显示,若否,则将碰撞盒信息反馈给数据库,数据库根据编号数据获取需下载的文件数据,并传输给服务器;
4)服务器根据接收到的文件数据下载相应区域的数据,并在网页中加载显示,同时将文件保存至本地缓存区。
所述的步骤2)中对各级地形模型进行切割分块前设置各地形文件的大小、设置碰撞盒的显示范围。
所述的步骤2)中各地形文件设有相应的文件名。
所述的步骤3)中,按照设定的帧率采集摄像机的碰撞盒信息。
所述的步骤3)中,数据库获得摄像机所在碰撞盒信息后,判断信息是否发生变化,若是,则根据编号数据获得将要加载和将要剔除的地形文件,并发送给服务器。
所述的步骤4)中,将下载的文件保存至本地缓存区时,记录相应的修改日期,再次加载时查询将下载的文件修改日期是否变更,若否,则直接读取本地缓存文件,若是,则下载变更后的文件并替换原有内容。
与现有技术相比,本发明具有以下优点:
1、本发明运用基于摄像机所在碰撞盒显示区域地形的方法,通过计算,智能加载相关区域,卸载不可见区域,在保证显示效果的前提下,解决计算机性能不足导致用户体验不流畅,解决因网络带宽不足导致用户长时间等待的问题;
2、本发明将下载的文件放在特定的缓存文件夹中,防止重复下载;
3、本发明能自动识别文件变更信息,自动替换旧文件,保持文件的及时性;
4、本发明文件采用异步加载方式,只加载需要的部分内容,不需要长时间进行大量数据交互,有效控制网络资源消耗;
5、本发明较通常的“瓦片贴图”技术相比,成本低、易实现,且管理简单。
附图说明
图1为本发明的原理流程图;
图2为实施例中自动识别文件变更信息流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1所示,一种基于碰撞盒原理动态加载三维地图的方法,该方法包括以下步骤:
1)按照需求获取多级地形模型,地形模型由精细到粗略分为三到五级地形模型。
2)将各级地形模型切割分块多个地形文件导入服务器,且每个文件具有相应的碰撞盒,将其编号数据录入到数据库。对各级地形模型进行切割分块前设置各地形文件的大小、设置碰撞盒的显示范围,各地形文件设有相应的按一定命名规则确定的文件名。两级文件之间大小差别不大则删除其中一级,以达到最佳优化效果。
3)按照设定的帧率(一般为24帧,也可自由设置)采集当前摄像机所在的碰撞盒信息,判断本地缓存区中是否存在相应的地形文件,若是,则直接在网页中加载显示,若否,则将碰撞盒信息反馈给数据库,数据库根据编号数据获取需下载的文件数据,并传输给服务器。
数据库获得摄像机所在碰撞盒信息后,判断信息是否发生变化,若是,则根据编号数据获得将要加载和将要剔除的地形文件,并发送给服务器。
4)服务器根据接收到的文件数据下载相应区域的数据,并在网页中加载显示,同时将文件保存至本地缓存区。将下载的文件保存至本地缓存区时,记录相应的修改日期,再次加载时查询将下载的文件修改日期是否变更,若否,则直接读取本地缓存文件,若是,则下载变更后的文件并替换原有内容,如图2所示。
以网络加载方式为例,最佳方案如下:
将地形模型处理成由精细到粗略的3套地形模型,第三级为粗略的平面图,范围较广;第二级为普通的平面图,范围广;第一级为精细的三维图,范围窄。摄像机位于第几级就显示第几级的地形模型。
将文件分块导出,注意文件命名方式,并将文件名导入到数据库中。命名规则以“L-A_02_b”为例:“L”指“Large”(广阔),为最粗略的地形模型,离摄像机距离最远,加载时间最短,显示范围最广;“A”指横向第一排;“02”指纵向第二个文件;“b”指“BOX”,即碰撞盒,若没有字母“b”,则为地形文件;良好的命名规则有益于之后脚本的编写。
之后编写摄像机脚本,实现如图1所示作用,让其能反馈摄像机所在碰撞盒,根据所在碰撞盒名称计算,得到需要加载的文件名,并将其反馈给数据库,由数据库控制服务器上文件的下载,场景中脚本控制文件的卸载。为控制摄像机与数据库交互的频率,减少非必要性带宽使用,通常设置反馈频率与场景帧率一致,为24帧,也可自行定义,就实际应用来看,反馈频率低于24帧后对网络带宽影响不大。
文件采用异步加载方式,只加载需要的部分内容,不需要长时间进行大量数据交互,有效控制网络资源消耗,同时,该技术利用缓存检索技术,将已下载的文件放于特定缓存文件夹中,实现了浏览过程中不重复加载已加载内容:
以文件“L-A_02”为例,当文件下载时先检索本地缓存是否具有此文件,若没有,则下载此文件,并在网页中呈现;若已有此文件,则对比缓存文件修改时间是否与将需要下载的文件修改时间一致,若一致,则不再下载,直接调用缓存文件;若不一致,则从服务器中下载此文件,并替换缓存中原有的名称一致的内容。为了防止缓存文件被优化软件误删,我们将缓存放置于特定的文件夹,同时,为防止缓存文件内容的无限制扩大,我们限制缓存文件内容不大于50M。
本发明以低成本解决大型三维地图在保证效果基础上加载缓慢的问题为目标,通过严格的地形模型分块命名方式、脚本依据摄像机所在碰撞盒信息反馈加载及卸载的文件、数据库——服务器——本地浏览三者的交互、本地缓存文件检索共同组成网络异步加载三维地形的方法。此方法前期投入较少,后期修改方便,为一般公司及项目提供了高效的解决方案。

Claims (4)

1.一种基于碰撞盒原理动态加载三维地图的方法,其特征在于,该方法包括以下步骤:
1)按照需求获取多级地形模型,地形模型由精细到粗略分为三到五级地形模型;
2)将各级地形模型切割分块为多个地形文件并将该多个地形文件导入服务器,且每个地形文件具有相应的碰撞盒,将其编号数据录入到数据库;
3)按照设定的帧率采集当前摄像机所在的碰撞盒信息,判断本地缓存区中是否存在相应的地形文件,若是,则直接在网页中加载显示,若否,则将碰撞盒信息反馈给数据库,数据库根据编号数据获取需下载的地形文件数据,并传输给服务器;
所述的步骤3)中,数据库获得摄像机所在碰撞盒信息后,判断信息是否发生变化,若是,则根据编号数据获得将要加载和将要剔除的地形文件,并发送给服务器;
4)服务器根据接收到的地形文件数据下载相应区域的数据,并在网页中加载显示,同时将该地形文件保存至本地缓存区,记录相应的修改日期。
2.根据权利要求1所述的一种基于碰撞盒原理动态加载三维地图的方法,其特征在于,所述的步骤2)中对各级地形模型进行切割分块前设置各地形文件的大小、设置碰撞盒的显示范围。
3.根据权利要求1所述的一种基于碰撞盒原理动态加载三维地图的方法,其特征在于,所述的步骤2)中各地形文件设有相应的文件名。
4.根据权利要求1所述的一种基于碰撞盒原理动态加载三维地图的方法,其特征在于,所述的步骤4)中,将下载的地形文件保存至本地缓存区时,记录相应的修改日期,再次加载时查询将该下载的地形文件修改日期是否变更,若否,则直接读取本地缓存文件,若是,则下载变更后的地形文件并替换原有内容。
CN201310279377.0A 2013-07-04 2013-07-04 一种基于碰撞盒原理动态加载三维地图的方法 Expired - Fee Related CN103345507B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310279377.0A CN103345507B (zh) 2013-07-04 2013-07-04 一种基于碰撞盒原理动态加载三维地图的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310279377.0A CN103345507B (zh) 2013-07-04 2013-07-04 一种基于碰撞盒原理动态加载三维地图的方法

Publications (2)

Publication Number Publication Date
CN103345507A CN103345507A (zh) 2013-10-09
CN103345507B true CN103345507B (zh) 2016-10-12

Family

ID=49280302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310279377.0A Expired - Fee Related CN103345507B (zh) 2013-07-04 2013-07-04 一种基于碰撞盒原理动态加载三维地图的方法

Country Status (1)

Country Link
CN (1) CN103345507B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105786833B (zh) * 2014-12-22 2019-06-18 阿里巴巴集团控股有限公司 一种网页元素碰撞判断方法及装置
CN107577766B (zh) * 2017-09-04 2020-09-15 苏州英诺迈医学创新服务有限公司 一种网页3d目标的加载方法及装置
CN107491562A (zh) * 2017-09-25 2017-12-19 四川长虹电器股份有限公司 动态显示网页数据属性状态的方法
CN110738733B (zh) * 2019-10-14 2023-05-16 北京代码乾坤科技有限公司 三维地形模型的生成方法、存储介质、处理器及电子装置
CN114981839A (zh) * 2020-12-21 2022-08-30 北京小米移动软件有限公司 一种模型传输方法、模型传输装置及存储介质
CN113050661A (zh) * 2021-06-02 2021-06-29 成都四方伟业软件股份有限公司 一种三维场景内自动巡检方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1414518A (zh) * 2002-09-18 2003-04-30 北京航空航天大学 虚拟现实数据标准化方法
CN101370025A (zh) * 2007-08-17 2009-02-18 北京灵图软件技术有限公司 地理信息数据的存储方法、调度方法及管理系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8850011B2 (en) * 2005-04-21 2014-09-30 Microsoft Corporation Obtaining and displaying virtual earth images

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1414518A (zh) * 2002-09-18 2003-04-30 北京航空航天大学 虚拟现实数据标准化方法
CN101370025A (zh) * 2007-08-17 2009-02-18 北京灵图软件技术有限公司 地理信息数据的存储方法、调度方法及管理系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Creator的飞行视景三维模型数据库优化技术;王晓东;《系统仿真学报》;20070630;第19卷(第12期);第2716-2719页 *

Also Published As

Publication number Publication date
CN103345507A (zh) 2013-10-09

Similar Documents

Publication Publication Date Title
CN103345507B (zh) 一种基于碰撞盒原理动态加载三维地图的方法
US11222465B2 (en) Embedded urban design scene emulation method and system
CN107193911A (zh) 一种基于bim模型的三维可视化引擎及web应用程序调用方法
CN102663801B (zh) 一种提高三维模型渲染性能的方法
CN102255930B (zh) 用于提供虚拟世界的场景数据的方法和系统
CN105701103B (zh) 一种基于地理信息的三维应用系统
CN111354084B (zh) 一种基于三维模型瓦片的网络地理信息服务系统
JP2008203940A5 (zh)
CN101261743B (zh) 一种基于规则网格的大规模地形漫游模拟方法
CN102737097A (zh) 基于lod透明纹理的三维矢量实时动态叠加技术
CN107886564A (zh) 用于实现三维场景显示的方法
CN101370025A (zh) 地理信息数据的存储方法、调度方法及管理系统
CN103324763B (zh) 一种手机端树形数据结构的展现方法
CN107452072A (zh) 基于网页的bim在线建模方法及其系统
CN103257876B (zh) C3游戏地图动态加载的方法
CN105701851A (zh) 一种基于地理信息的三维渲染引擎系统
CN104217023A (zh) 一种利用打包技术解决地图瓦片存储的方法
US9679349B2 (en) Method for visualizing three-dimensional data
CN107340975A (zh) 一种文件存储的方法及装置
CN105931284A (zh) 三维纹理tin数据与大场景数据的融合方法及装置
CN102708162A (zh) 一种古建筑信息的可视化方法
CN104346771B (zh) 一种电子地图分层管理方法
CN105677843A (zh) 一种自动获取宗地四至属性的方法
CN109697757A (zh) 一种三维模型贴地方法、装置、系统及可读存储介质
CN106875480B (zh) 一种城市三维数据组织的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161012

Termination date: 20210704

CF01 Termination of patent right due to non-payment of annual fee