地图坐标2D映射3D地图场景中

1.采集数据的地图mapData(名称),地图 长、宽: L,W
2.unity 需要一张地图map(名称) 长、宽:L/N,W/N (N 是缩放系数,和数据采集的地图保持比例 不能压缩变形)

unity 中的地图是3D模型 还是是2D平面 分两种情况

处理3D模型:
1. unity 中新建Canvas
2. 在3DMapCanvas下新建Panel命名为mapPanle 将map添加mapPanel的Image组件,同时设置mapPanel 的
Width=L/N,Height=W/N 即 分别对应map图片的长、和宽, 在mapPanel下新建imge命名为point,设置锚点为左上角
3.设置3DMapCanvasRenderMode :WorldSpace
4.找到3D地图模型,将3DMapCanvas位置和旋转以及缩放调整,保持和3D模型横截面重合。
5.注意 3DMapCanvas 和 3D地图模型可以放置统一的根节点下,根节点 缩放保持为1
6.界面处理完毕。
7.处理坐标 :平面坐标映射3D坐标
图片坐标系是左上角(0,0) 右下角(width,hight)

unity UI坐标系 可以根据自身锚点设置

例如Panle 作为地图容器 设置锚点任意一般设置中心,子节点point(width=0,hight=0) 设置锚点在左上角

此时Panel坐标系 左上角(0,0)右下角(width,-hight)

处理分三个步骤转换:
步骤一 :在mapData上采集的点source=(x,y)
步骤二 : 映射到缩放后的map地图上的点mapSource=(source.x/N,source.y/N)
步骤三:映射到mapPanel上point的anchoredPosition=(mapSource.x,-mapSource.y)
此时 平面地图坐标 映射到3D地图完毕

8.处理坐标 :平面坐标映射unity2D坐标

图片坐标系是左上角(0,0) 右下角(width,hight)

unity UI坐标系 可以根据自身锚点设置

例如Panle 作为地图容器 设置锚点任意一般设置中心,子节点point(width=0,hight=0) 设置锚点在左上角

此时Panel坐标系 左上角(0,0)右下角(width,-hight)

处理分三个步骤转换:
步骤一 :在mapData上采集的点source=(x,y)
步骤二 : 映射到缩放后的map地图上的点mapSource=(source.x/N,source.y/N)
此时 平面地图坐标 映射到2D地图完毕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tianyongheng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值