Unity-MapBox流程示意图
2021-07-30 10:43:12 3 举报
unity-mapbox-sdk 初始化流程示意图,比较简单初略,不喜勿喷
作者其他创作
大纲/内容
Register
后
MapImageFactory
AbstractMap
矢量切片数据是由mapbox自己的dll动态链接库解析的
在这里添加了渲染组件和网格Instantiate(_map.TileMaterial);
factory.Register
MapboxAccess
继承
Initialize
ImageDataFetcher
此处有一个for循环,根据生成的tileId去逐个获取资源
Tile
由最中心点的xyz决定周围Tile的xyz--决定一共有多少个Tile
总结:mapbox 数据加载的流程使用协程进行处理,并异步加载数据,先由http类发起请求后,在收到数据时使用回调函数来进行数据的加工处理,并最终创建一系列的网格,渲染器,材质来将数据显示到unity中。其游戏对象的创建运用工厂模式,分别有VectorTileFactory、MapImageFactory、TerrainFactoryBase分别处理图片、地形、和矢量切片三种数据; 当程序接收到数据时,图片和高度数据在程序内进行处理,矢量切片数据则由程序调用Mapbox.VectorTile.VectorTileReader.dll动态链接库解析vector数据,最终展示出来
UpdateTileExtent
RasterTile
Request
AbstractMapVisualizer
这里添加DataRecieved回调函数进行数据接收后的后续操作
MapOnStartRoutine
这样的是方法
VectorTileFactory
TerrainFactoryBase
Unity Mapbox 源码流程示意图
此处注册三个工厂类
OnRegistered
RangeTileProvider
OnImageRecieved
事件触发
TileProvider_OnTileAdded
HandleTileResponse使用底层Mapbox.VectorTile.VectorTileReader.dll解析vector数据
总结
AbstractTileFactory
SetUpMap
实现
这样的是类
调用
这样的是注释
CachingWebFileSource
OnTerrainRecieved
TriggerTileRedrawForExtent
OnVectorDataRecieved
发起请求,并对其进行缓存
InitializeMap
LoadTile
此处还做了请求的初始化--包括token的读取等等
FetchData
0 条评论
回复 删除
下一页