[发明专利]一种用于unity的渲染地图方法、电子设备及可读存储介质在审
申请号: | 202110863036.2 | 申请日: | 2021-07-29 |
公开(公告)号: | CN113570717A | 公开(公告)日: | 2021-10-29 |
发明(设计)人: | 白启扉 | 申请(专利权)人: | 的卢技术有限公司 |
主分类号: | G06T17/05 | 分类号: | G06T17/05;G06T17/20;G06T15/00;G06T15/04 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 施昊 |
地址: | 210000 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 unity 渲染 地图 方法 电子设备 可读 存储 介质 | ||
本发明公开了一种用于unity的渲染地图方法、电子设备及可读存储介质,方法步骤依次为,根据地图最大zoom等级定义地图网格的最大长宽,利用unity API创建mesh,mesh中的网格对应地图网格;根据当前zoom等级和经纬度信息,获取地图瓦片图片地址;获取地图瓦片图片,将其作为uv纹理贴到mesh上;地图缩放时,根据当前zoom等级,动态调整mesh,实现地图快速渲染。本发明可以控制地图渲染的细节,在地图层上覆盖unity内容,并且能够在编辑器上方便开发。
技术领域
本发明属于unity开发领域,特别涉及了一种用于unity的渲染地图技术。
背景技术
目前,地图在外卖,导航,场景展示等互动app中有愈加广泛的应用,Unity目前集成地图的方式主要是调用封装百度高德等提供的android和ios的SDK。
现有的方法存在较多的局限性:
1、百度高德提供的SDK实现的是不同平台下的view界面,unity无法在其之上交互和覆盖更多内容;
2、百度高德只提供了移动版的SDK,unity的pc编辑器环境下无法调试,不方便开发;
3、百度高德的地图渲染SDK不开放源码,渲染效率无法优化。
发明内容
为了解决上述背景技术提到的技术问题,本发明提出了一种用于unity的渲染地图方法、电子设备及可读存储介质,可以控制地图渲染的细节,在地图层上覆盖unity内容,并且能够在编辑器上方便开发。
为了实现上述技术目的,本发明的技术方案为:
一种用于unity的渲染地图方法,包括以下步骤:
(1)根据地图最大zoom等级定义地图网格的最大长宽,利用unity API创建mesh,mesh中的网格对应地图网格;
(2)根据当前zoom等级和经纬度信息,获取地图瓦片图片地址;
(3)获取地图瓦片图片,将其作为uv纹理贴到mesh上;
(4)地图缩放时,根据当前zoom等级,动态调整mesh,实现地图快速渲染。
进一步地,在步骤(2)中,通过mapnik2 、apache2和mod_tile搭建基于OSM地图数据的瓦片地图服务。
进一步地,在步骤(3)中,通过unity的API:Resources.LoadAsync(url)获取地图瓦片图片。
进一步地,在步骤(4)中,当zoom等级由高切换至低时,合并mesh中的网格;当zoom等级由低切换至高时,拆分mesh中的网格。
进一步地,当zoom等级由a切换至b时,ab,确定需要删除的顶点A,将与顶点A连接的所有顶点记录下来,并将这些记录的顶点与顶点A的连接线删除,最后将这些记录的顶点中与顶点A距离最远的两个顶点连接起来;
当zoom等级由b切换至a时,其操作过程是上述过程的反向操作。
一种电子设备,包括处理器和存储器,所述存储器存储有所述处理器的执行指令,所述处理器配置为执行所述执行指令来实现上述用于unity的渲染地图方法。
一种计算机可读存储介质,用于存储程序,执行所述程序以实现上述用于unity的渲染地图方法。
采用上述技术方案带来的有益效果:
1、本发明不依赖其他SDK,直接用C#渲染瓦片地图,可以快速渲染各层级瓦片地图;
2、本发明的底层渲染部分源码可控,并且可以直接在编辑器中开发调试;
3、本发明可以对地图做任意定制,并且覆盖unity内容。
附图说明
图1是本发明的方法流程图;
图2是本发明中生成mesh的示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于的卢技术有限公司,未经的卢技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110863036.2/2.html,转载请声明来源钻瓜专利网。