|
unity实现地图小功能,常见的有以下几种方式
1,弄一个RenderTextrue ,把地图摄像机的拍摄到的地形和图片渲染到物体上面
2,坐标映射,计算真实地图和2DUI地图的大小
// 网上的小地图教程就是----- A部分
1,[图片上传中
1.png
..(1.png-9e9a1b-1636973806892-0)]
2.png
如图所示,一个简单的小地图如上所示
2,设置指定的摄像机渲染层级,只渲染的目标层级![
4.png
2.1设置小地图摄像机的渲染层级
4.png
此时简单的小地图已经完成
3,另一种方案,只显示可以移动区域,不移动区域不渲染,可以减少模型的渲染量,其实和上面是一个道理,如下图所示
5.png
模型渲染指定模型。或者低模,有效减少摄像机的渲染量
//-------------------升级的小地图 B部分
指示目标物体或者敌人坐标,
1,地图的立体效果,看小地图的摄像机旋转一定的角度,让小地图看起来有3D效果
6.png
7.png
效果如下
8.png
2,地图旋转。由于旋转是相对的,旋转摄像机也就旋转了角色2D图标显示
9.png
2DUI和地图摄像机是同步的,除了高度值不同步外,以下代码,target为玩家的数据,model为玩家3D模型,3Dui都行
3,地图的箭头指向。此处需要传递被的目标数据(Transform)
10.png
核心代码如下
11.png
思路如下很
A,传入玩家数据和目标的世界坐标,同事申请临时变量,赋予目标世界坐标,并且把临时变量的y值与玩家的Y值同步,并且得出指向目标的向量
B,根据点乘的结果,得出一个向量来判断Y值的大小,其实点乘的结果,也可以是,x,y,z,取决你点乘的向量
根据点乘的y值来判断左右,然后确定旋转值,
C,确定方向,接下来确定角度,去玩家的前方向,来点乘指向玩家向量确定方向以及角度,
D,更新UI上面的箭头指向问题,代码如下
12.png
PS小技巧,巧妙实现的2DUI偏移,无休控制代码,只需要控制他的父物体,可以随时调整偏移,UI箭头可以岁数调整到中心点距离,然后旋转箭头定位,只需控制父物体的旋转值,即Z轴吗,即可简单实现
13.png
//----2DUI图标定位显示------------------
1,计算两点坐标位置距离,来控制2Dui坐标显示
//-----
-------------------------小地图的第二种做法----------
坐标映射,
1,做法与上面做法一直,只不过是显示一张图片,根据小地图尺寸和真实地图的大小进行换算对比出比例,然后更新换算比例来计算玩家等目标在小地图的位置,然后更新小地图的坐标信息。
2,小地图的放大与缩小,小地图*= 比例(地图的缩放比例); |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|