本发明属于数据处理及可视化,尤其涉及基于游戏引擎与gis三维引擎的同步匹配方法及系统。
背景技术:
1、目前市面上常见的三维引擎大致可以分为两大类。一类是gis(地理信息系统)三维引擎,如arcgis、skyline、supermap等,这类引擎在技术路线上更专注于地理空间实体建模分析,具有强大的信息查询、空间分析能力,可实现各类数据资源,如遥感影像、矢量数据、倾斜摄影、激光雷达点云数据、建筑信息模型等的统一管理和整合。另一类是三维游戏引擎,如unity3d、ue虚幻引擎等,往往可以展示真实物理世界中模型的光照反射特性,可视化效果强,数据呈现更为丰富。
2、实际工作中往往需要将gis三维引擎和三维游戏引擎两者融合一起使用,例如,在小比例尺、宏观场景下基于游戏三维引擎进行可视化展示,往往可以展示真实物理世界中的光照特性等可视化效果以及更为丰富的数据统计信息;而放大至大比例尺、中微观场景时往往需要直接加载矢量、地形、影像、实景三维模型等海量多源地理信息数据,gis三维引擎则提供了更为专业的地理数据信息及丰富的应用功能。
3、由于上述两种三维引擎并没有相同的坐标参照系,当同时使用且需要相互切换时,往往会出现场景过渡不当,甚至错位等现象。
技术实现思路
1、本发明的实施例提供了一种基于游戏引擎与gis三维引擎的同步匹配方法,旨在解决在使用gis三维引擎和三维游戏引擎进行场景展示时,两者切换造成的场景过度不当,甚至错位的问题。
2、本发明实施例是这样实现的,一种基于游戏引擎与gis三维引擎的同步匹配方法,包括以下步骤:
3、启动gis三维引擎和游戏引擎,将所述游戏引擎置于屏幕显示的顶层;
4、建立目标三维场景在所述gis三维引擎中的地理坐标网格矩阵;
5、建立所述目标三维场景在所述游戏引擎中与所述地理坐标网格矩阵相同编码规则的左手坐标网格矩阵;
6、利用网格化分布方式的网格碰撞器获取所述目标三维场景在所述游戏引擎屏幕中心点的坐标值;
7、计算所述游戏引擎屏幕中心点的坐标值在所述左手坐标网格矩阵中的网格编号;
8、根据所述网格编号,计算所述gis三维引擎中所述地理坐标网格矩阵的网格中心点坐标值;
9、获取当前场景视觉尺度值,并判断所述视觉尺度值与用户设置的视角距离阈值的大小关系,当所述视觉尺度值大于所述视角距离阈值时,将所述gis三维引擎置于屏幕显示的顶层,并以所述网格中心点坐标值和所述视觉尺度值作为所述gis三维引擎的显示参数。
10、更进一步地,当场景视觉尺度值小于设置的视角距离阈值时,将所述网格中心点坐标值和当前时刻的所述视觉尺度值传递给所述游戏引擎并以所述游戏引擎的视角显示,同时将所述游戏引擎置于屏幕显示的顶层。
11、本发明的实施例还提供了一种基于游戏引擎与gis三维引擎的同步匹配系统,该系统包括:
12、启动模块,用于启动gis三维引擎和游戏引擎,将所述游戏引擎置于屏幕显示的顶层;
13、第一矩阵建立模块,用于建立目标三维场景在所述gis三维引擎中的地理坐标网格矩阵;
14、第二矩阵建立模块,用于建立所述目标三维场在所述游戏引擎中与所述地理坐标网格矩阵相同编码规则的左手坐标网格矩阵;
15、获取坐标模块,用于利用网格化分布方式的网格碰撞器获取所述目标三维场景在所述游戏引擎屏幕中心点的坐标值;
16、第一计算模块,用于计算所述游戏引擎屏幕中心点的坐标值在所述左手坐标网格矩阵中的网格编号;
17、第二计算模块,用于根据所述网格编号,计算所述gis三维引擎中所述地理坐标网格矩阵的网格中心点坐标值;
18、图层控制模块,用于获取当前场景视觉尺度值,并判断所述视觉尺度值与用户设置的视角距离阈值的大小关系,当所述视觉尺度值大于所述视角距离阈值时,将所述gis三维引擎置于屏幕显示的顶层,并以所述网格中心点坐标值和所述视觉尺度值作为所述gis三维引擎的显示参数。
19、本发明所达到的有益效果是:由于采用了网格化目标三维场景,建立了相同规则的网格矩阵参考坐标,通过获取屏幕中心点坐标并计算其所在网格位置,由此得到另一个三维引擎中的对应网格位置,所以能够实现游戏引擎和gis地图引擎之间的无缝切换,使得用户在对三维目标场景操作的过程中,场景过渡自然,切换衔接流畅,提升了用户在使用过程中体验与感受。
1.一种基于游戏引擎与gis三维引擎的同步匹配方法,其特征在于,包括以下步骤:
2.如权利要求1所述的基于游戏引擎与gis三维引擎的同步匹配方法,其特征在于,所述将所述gis三维引擎置于屏幕显示的顶层的步骤之后,还包括以下步骤:
3.如权利要求1所述的基于游戏引擎与gis三维引擎的同步匹配方法,其特征在于,所述建立地理坐标网格矩阵的步骤包括:
4.如权利要求3所述的基于游戏引擎与gis三维引擎的同步匹配方法,其特征在于,所述建立与所述地理坐标网格矩阵相同编码规则的左手坐标网格矩阵的步骤包括:
5.如权利要求4所述的基于游戏引擎与gis三维引擎的同步匹配方法,其特征在于,所述利用网格化分布方式的网格碰撞器获取所述目标三维场景在所述游戏引擎屏幕中心点的坐标值的步骤包括:
6.如权利要求5所述的基于游戏引擎与gis三维引擎的同步匹配方法,其特征在于,所述游戏引擎包括unity,所述网格碰撞器包括mesh collider。
7.如权利要求5所述的基于游戏引擎与gis三维引擎的同步匹配方法,其特征在于,所述计算所述游戏引擎屏幕中心点的坐标值在所述左手坐标网格矩阵中的网格编号的步骤包括:
8.如权利要求7所述的基于游戏引擎与gis三维引擎的同步匹配方法,其特征在于,所述计算所述gis三维引擎中所述地理坐标网格矩阵的网格中心点坐标值的步骤包括:
9.如权利要求8所述的基于游戏引擎与gis三维引擎的同步匹配方法,其特征在于,所述以所述网格中心点坐标值和所述视觉尺度值作为所述gis三维引擎的显示参数的方法为:
10.一种基于游戏引擎与gis三维引擎的同步匹配系统,其特征在于,包括: