基于地图数据在Unity3D中绘制三维模型的方法及装置制造方法及图纸

技术编号:32221186 阅读:35 留言:0更新日期:2022-02-09 17:26
本发明专利技术公开了一种基于地图数据在Unity3D中绘制三维模型的方法及装置,涉及地图数据三维显示技术领域,该方法包括基于地图数据的数据源,提取得到需进行三维模型创建的线路和闭合线路;根据线路的模型,对应创建Unity3D材质球,根据闭合线路的模型,对应创建Unity3D材质球;基于预设三维模型绘制算法对闭合线路进行建模,并对应赋予给创建的Unity3D材质球;基于设定三维模型绘制算法对线路进行建模,并对应赋予给创建的Unity3D材质球。本发明专利技术构建方式简单且效率高,同时根据真实地图数据进行建模能够有效避免人工误差。能够有效避免人工误差。能够有效避免人工误差。

【技术实现步骤摘要】
基于地图数据在Unity3D中绘制三维模型的方法及装置


[0001]本专利技术涉及地图数据三维显示
,具体涉及一种基于地图数据在Unity3D中绘制三维模型的方法及装置。

技术介绍

[0002]Unity3D是一种三维游戏制作引擎,凭借自身的跨平台性与开放性优势已经逐渐成为当今世界范围内的主流游戏引擎,Unity 3D以其强大的跨平台特性与绚丽的3D渲染效果而闻名于世,现在很多商业游戏及虚拟现实产品都采用Unity 3D引擎来进行开发。Unity 3D游戏开发引擎目前之所以炙手可热,与其完善的技术以及丰富的个性化功能密不可分,Unity 3D游戏开发引擎易于上手,降低了对游戏开发人员的要求。
[0003]在地图绘制领域,现在已普遍采用三维地图方式,但是,地图数据转化为三维模型时需要在不同的平台做不同的处理,且目前在Unity3D游戏引擎中没有提供地图数据转化三维模型的方法。

技术实现思路

[0004]针对现有技术中存在的缺陷,本专利技术的目的在于提供一种基于地图数据在Unity3D中绘制三维模型的方法及装置,构建方本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于地图数据在Unity3D中绘制三维模型的方法,其特征在于,具体包括以下步骤:基于地图数据的数据源,提取得到需进行三维模型创建的线路和闭合线路;根据线路的模型,对应创建Unity3D材质球,根据闭合线路的模型,对应创建Unity3D材质球;基于预设三维模型绘制算法对闭合线路进行建模,并对应赋予给创建的Unity3D材质球;基于设定三维模型绘制算法对线路进行建模,并对应赋予给创建的Unity3D材质球。2.如权利要求1所述的一种基于地图数据在Unity3D中绘制三维模型的方法,其特征在于:所述线路为地图上的路网;所述闭合线路包括地图上的湖泊、建筑和行政划分。3.如权利要求1所述的一种基于地图数据在Unity3D中绘制三维模型的方法,其特征在于,所述基于预设三维模型绘制算法对闭合线路进行建模,具体步骤包括:基于闭合线路的坐标构建第一坐标数据链表,并根据绘制平面多边形算法绘制闭合线路的模型底面;基于闭合线路的坐标与高度的和构建第二坐标数据链表,并根据绘制平面多边形算法绘制闭合线路的模型顶面;根据所述第一坐标数据链表和第二坐标数据链表绘制闭合线路的模型侧面;对所述模型底面、模型顶面、模型侧面均赋予对应的UV和Unity3D材质。4.如权利要求3所述的一种基于地图数据在Unity3D中绘制三维模型的方法,其特征在于,所述根据所述第一坐标数据链表和第二坐标数据链表绘制闭合线路的模型侧面,具体为:按照[P1(0),P2(0),P1(1)]、[P1(0),P2(1),P1(1)],[P1(1),P2(1),P1(2)],[P1(1),P2(2),P1(2)]
……
[P1(i),P2(i),P1(i+1)]、[P1(i),P2(i+1),P1(i+1)]
……
[P1(n),P2(n),P1(0)]、[P1(n),P2(0),P1(0)]的顺序依次绘制三角形,得到闭合线路的模型侧面;其中,P1表示第一坐标数据链表,P2表示第一坐标数据链表,n表示第一坐标数据链表和第二坐标数据链表中的坐标总个数,且第一坐标数据链表中的坐标总个数和第二坐标数据链表中的坐标总个数相同;其中,P1(i)表示第一坐标数据链表中的第i个坐标,P2(i)表示第二坐标数据链表中的第i个坐标,P1(n)表示第一坐标数据链表中的第n个坐标,P2(n)表示第二坐标数据链表中的第n个坐标;其中,[P1(i),P2(i),P1(i+1)]表示P1(i)、P2(i)和P1(i+1)三个坐标构成的三角形;[P1(i),P2(i+1),P1(i+1)]表示P1(i)、P2(i+1)和P1(i+1)三个坐标构成的三角形,[P1(n),P2(n),P1(0)]表示P1(n)、P2(n)和P1(0)三个坐标构成的三角形,[P1(n),P2(0),P1(0)]表示P1(n)、P2(0)和P1(0)三个坐标构成的三角形。5.如权利要求3所述的一种基于地图数据在Unity3D中绘制三维模型的方法,其特征在于,所述绘制平面多边形算法进行多边形绘制的具体步骤为:S201:获取待进行多边形绘制的坐标并构建坐标数据链表,并对坐标数据链表中的坐
标进行编号,转到S202;S202:判断坐标数据链表中的坐标数量是否大于3,若是,则转到S203,若否,则转到S209;S203:基于坐标数据链表中坐标的编号顺序,获取一个坐标作为当前坐标,转到S204;S204:获取与当前坐标相邻的前一个坐标和后一个坐标,并判断这三个坐标点是否在同一直线上,若是,则转到S206,若否,则转到S207;S206:将当前坐标从坐标数据链表中删除,然后转到S202;S207:基于向量法线算法,判断所述三个坐标是否均为待绘制多边形的凸点,且所述三个坐标内是否不存在坐标数据链表中的其它坐标,若均为是,则转到S208,反之,则转到S209;S208:基于所述三个坐标绘制三角形,然后将所述三个坐标从坐标数据链表中删除,然后转到S202;S208:将与当前坐标相邻的坐标作为当前坐标,然后转到S204;S209:基于坐标数据链表中的坐标数,当能够绘制一个三角形时,则进行三角形绘制,然后基于所有已绘制的三角形绘制多边形;当无法绘制三角形时,然后基于所有已绘制的三角形绘制多边形。6.如权利要求1所述的一种基于地图数据在Unity3D中绘制三维模型的方法,其特征在于,所述基于设定三维模型绘制算法对线路进行建模,具体步骤包括:基于第一预设算法计算得到线路的起点对应路面的左右两侧坐标;基于第二预设算法计算得到线路的中间点对应路面的左右两侧坐标;基于第三预设算法计算得到线路的终点对应路面的左右两侧坐标;根据得到的起点左右两侧坐标、中间点左右两侧坐标和终点左右两侧坐标中的所有左侧坐标,建立左侧坐标数据链表;根据得到的起点左右两侧坐标、中间点左右两侧坐标和终点左右两侧坐标中的所有右侧坐标,建立右侧坐标数据链表;根据建立的左侧坐标数据链表和右侧坐标数据链表,按照[PR(0),PR(1),PL(0)]、[PL(0),PR(1),PL(1)]、[PR(1),PR(2),PL(1)]、[PR(1),PR(2),PL(2)]
……
[PR(i),PR(i+1),PL(i)]、[PL(i),PR(i+1),PL(i+1)]
……
[PR(m

1),PR(m),PL(m

1)]、[PR(m

1),PR(m),PL(m)]...

【专利技术属性】
技术研发人员:喻启翔陈烈军
申请(专利权)人:武汉烽火信息集成技术有限公司
类型:发明
国别省市:

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

1