一种在游戏引擎中使用地理坐标的方法技术

技术编号:26600861 阅读:51 留言:0更新日期:2020-12-04 21:24
本发明专利技术公开了一种在游戏引擎中使用地理坐标的方法,包括以下步骤:将大地坐标系转换为空间直角坐标系,并计算偏心率和辅助系数;获取空间直角坐标系与子午面直角坐标系之间的关系函数;根据偏心率和辅助系数,构建地理坐标转换方程式,并将关系函数输入转换方程式,得到地理坐标转换结果;将地理坐标转换结果输入游戏引擎中,完成游戏引擎中三维场景的地理坐标的使用。本发明专利技术避免了投影坐标带来的地理形状变形和位置偏差的根本问题,强化游戏引擎在使用地理坐标定位时的精确度,提高了三维空间场景的真实性。

【技术实现步骤摘要】
一种在游戏引擎中使用地理坐标的方法
本专利技术属于数据处理领域,具体涉及一种在游戏引擎中使用地理坐标的方法。
技术介绍
当前在利用Unity3D或虚幻4引擎构建三维空间场景,特别是真实世界三维空间场景时,需要使用基于地理坐标系定位场景中模型的位置。现在普遍使用的通用方式是将地理坐标转换为投影坐标,利用投影坐标的平面直角坐标值作为三维模型在Unity3D或虚幻4中的位置数据。在转换过程使用较为常用的是墨卡托投影坐标,由于墨卡托投影具有各个方向均等扩大的特性,保持了方向和相互位置关系的正确,因此常用于航海航空图的制作,但是投影坐标始终是二维坐标,当放置到三维空间场景中,不可避免的存在以下问题:地球球体是一个长短半轴不等的椭球体,当投影到平面时不可避免的会出现变形的问题,虽然在基准纬线处无变形,但是从基准纬线处向两极变形逐渐增大。在三维空间场景中,当视角镜头处于近地位置时虽可保持模型位置的正确,但是当镜头远离后,在高纬度处距离基准点越远的位置,偏移的距离越大,于真实地理信息的偏差越大。为了调整偏差,就必须在不同的比例级别重新计算投影,增加了运算消耗。
技术实现思路
针对现有技术中的上述不足,本专利技术提供的一种在游戏引擎中使用地理坐标的方法解决了现有技术中存在的问题。为了达到上述专利技术目的,本专利技术采用的技术方案为:一种在游戏引擎中使用地理坐标的方法,包括以下步骤:S1、将大地坐标系转换为空间直角坐标系,并计算偏心率和辅助系数;S2、获取空间直角坐标系与子午面直角坐标系之间的关系函数;S3、根据偏心率和辅助系数,构建地理坐标转换方程式,并将关系函数输入转换方程式,得到地理坐标转换结果;S4、将地理坐标转换结果输入游戏引擎中,完成游戏引擎中三维场景的地理坐标的使用。进一步地,所述步骤S1中将大地坐标系转换为空间直角坐标系的具体方法为:将起始子午线与赤道之间的交线作为空间直角坐标系的X轴;将赤道面上与X轴垂直的直线作为空间直角坐标系的Y轴,将与椭球体短半轴重合的直线作为空间直角坐标系的Z轴,所述空间直角坐标系为右手系。进一步地,所述步骤S1中偏心率e为:其中,a表示大地坐标系长半轴,b表示大地坐标系短半轴。进一步地,所述步骤S1中辅助系数W为:其中,B表示大地坐标中的纬度。进一步地,所述步骤S2中空间直角坐标系与子午面直角坐标系之间的关系函数为:其中,Xm表示空间直角坐标系中点m的X轴坐标,Ym表示空间直角坐标系中点m的Y轴坐标,Zm表示空间直角坐标系中点m的Z轴坐标,点m还位于子午面直角坐标系中,xm表示点m在子午面直角坐标系中的x轴坐标,ym点m在子午面直角坐标系中的y轴坐标,L表示大地坐标中的经度。进一步地,所述步骤S3中地理坐标转换方程式为:其中,xp表示大地面上的点p在在子午面直角坐标系中的x轴坐标,yp表示大地面上的点p在在子午面直角坐标系中的y轴坐标,所述点p与点m位于同一直线上且点m位于大地球体外,H表示大地坐标中的高度。进一步地,所述步骤S3中地理坐标转换结果为:进一步地,所述游戏引擎为Unity3D或虚幻4。本专利技术的有益效果为:(1)本专利技术实现了在每个独立的三维空间场景使用统一的地理坐标系,通过参数方程换算的空间直角坐标系在三维空间场景中不会由于镜头的缩放产生与真实地理坐标信息偏差的问题。(2)本专利技术避免了投影坐标带来的地理形状变形和位置偏差的根本问题,强化游戏引擎在使用地理坐标定位时的精确度,提高了三维空间场景的真实性。(3)本专利技术复杂程度低,提高了地理坐标的应用效率,并且可以在不同的游戏引擎中实现地理坐标的应用。附图说明图1为本专利技术提出的一种在游戏引擎中使用地理坐标的方法流程图。图2为本专利技术中点m和点p位置关系示意图。具体实施方式下面对本专利技术的具体实施方式进行描述,以便于本
的技术人员理解本专利技术,但应该清楚,本专利技术不限于具体实施方式的范围,对本
的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本专利技术的精神和范围内,这些变化是显而易见的,一切利用本专利技术构思的专利技术创造均在保护之列。下面结合附图详细说明本专利技术的实施例。如图1所示,一种在游戏引擎中使用地理坐标的方法,包括以下步骤:S1、将大地坐标系转换为空间直角坐标系,并计算偏心率和辅助系数;S2、获取空间直角坐标系与子午面直角坐标系之间的关系函数;S3、根据偏心率和辅助系数,构建地理坐标转换方程式,并将关系函数输入转换方程式,得到地理坐标转换结果;S4、将地理坐标转换结果输入游戏引擎中,完成游戏引擎中三维场景的地理坐标的使用。所述步骤S1中将大地坐标系转换为空间直角坐标系的具体方法为:将起始子午线与赤道之间的交线作为空间直角坐标系的X轴;将赤道面上与X轴垂直的直线作为空间直角坐标系的Y轴,将与椭球体短半轴重合的直线作为空间直角坐标系的Z轴,所述空间直角坐标系为右手系。所述步骤S1中偏心率e为:其中,a表示大地坐标系长半轴,b表示大地坐标系短半轴。所述步骤S1中辅助系数W为:其中,B表示大地坐标中的纬度。所述步骤S2中空间直角坐标系与子午面直角坐标系之间的关系函数为:其中,Xm表示空间直角坐标系中点m的X轴坐标,Ym表示空间直角坐标系中点m的Y轴坐标,Zm表示空间直角坐标系中点m的Z轴坐标,点m还位于子午面直角坐标系中,xm表示点m在子午面直角坐标系中的x轴坐标,ym点m在子午面直角坐标系中的y轴坐标,L表示大地坐标中的经度。所述步骤S3中地理坐标转换方程式为:其中,xp表示大地面上的点p在在子午面直角坐标系中的x轴坐标,yp表示大地面上的点p在在子午面直角坐标系中的y轴坐标,H表示大地坐标中的高度。如图2所示,所述点p与点m位于同一直线上且点m位于大地球体外。所述步骤S3中地理坐标转换结果为:所述游戏引擎为Unity3D或虚幻4。本专利技术的有益效果为:(1)本专利技术实现了在每个独立的三维空间场景使用统一的地理坐标系,通过参数方程换算的空间直角坐标系在三维空间场景中不会由于镜头的缩放产生与真实地理坐标信息偏差的问题。(2)本专利技术避免了投影坐标带来的地理形状变形和位置偏差的根本问题,强化游戏引擎在使用地理坐标定位时的精确度,提高了三维空间场景的真实性。(3)本专利技术复杂程度低,提高了地理坐标的应用效率,并且可以在不同的游戏引擎中实现地理坐标的应用。本文档来自技高网
...

【技术保护点】
1.一种在游戏引擎中使用地理坐标的方法,其特征在于,包括以下步骤:/nS1、将大地坐标系转换为空间直角坐标系,并计算偏心率和辅助系数;/nS2、获取空间直角坐标系与子午面直角坐标系之间的关系函数;/nS3、根据偏心率和辅助系数,构建地理坐标转换方程式,并将关系函数输入转换方程式,得到地理坐标转换结果;/nS4、将地理坐标转换结果输入游戏引擎中,完成游戏引擎中三维场景的地理坐标的使用。/n

【技术特征摘要】
1.一种在游戏引擎中使用地理坐标的方法,其特征在于,包括以下步骤:
S1、将大地坐标系转换为空间直角坐标系,并计算偏心率和辅助系数;
S2、获取空间直角坐标系与子午面直角坐标系之间的关系函数;
S3、根据偏心率和辅助系数,构建地理坐标转换方程式,并将关系函数输入转换方程式,得到地理坐标转换结果;
S4、将地理坐标转换结果输入游戏引擎中,完成游戏引擎中三维场景的地理坐标的使用。


2.根据权利要求1所述的在游戏引擎中使用地理坐标的方法,其特征在于,所述步骤S1中将大地坐标系转换为空间直角坐标系的具体方法为:将起始子午线与赤道之间的交线作为空间直角坐标系的X轴;将赤道面上与X轴垂直的直线作为空间直角坐标系的Y轴,将与椭球体短半轴重合的直线作为空间直角坐标系的Z轴,所述空间直角坐标系为右手系。


3.根据权利要求1所述的在游戏引擎中使用地理坐标的方法,其特征在于,所述步骤S1中偏心率e为:



其中,a表示大地坐标系长半轴,b表示大地坐标系短半轴。


4.根据权利要求3所述的在游戏引擎中使用地理坐标的方法,其特征在于,所述步骤S1中辅助系数W为:



其中,B...

【专利技术属性】
技术研发人员:杨斌曹晔刘仁明彭真徐锴周翔曾凡袁建华
申请(专利权)人:四川易利数字城市科技有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1