Unity SKFramework框架(二十三)、MiniMap 小地图工具
目录
简介
MiniMap可以帮助我们快速实现小地图功能,该工具已经上传至我的开发框架SKFramework中的Package Manager开发工具包管理器中,如图所示,点击右下角Install按钮即可下载安装。
SKFramework框架开源地址:
https://github.com/136512892/SKFramework
实现原理
1.以场景中的z轴正方向为上、以x轴正方向为右;
2.以场景中的左下角和右上角为两个基准点,分别记录为leftBottom、rightTop;
3.将场景中目标物体的Transform记录为target3d;
4.将界面中代表目标物体的Icon图标的RectTransform记录为target2d;
5.将小地图的RectTransform组件记录为mapRt;
6.用小地图的长度除以场景的长度得到水平方向上的比例;
(mapRt.rect.width / (rightTop.position.x - leftBottom.position.x))
7.用小地图的宽度除以场景的宽度得到垂直方向上的比例;
(mapRt.rect.height / (rightTop.position.z - leftBottom.position.z))
8.计算三维目标物体距左下角基点的长度和宽度,记录为horizontal、vertical;
(horizontal = target3d.position.x - leftBottom.position.x)
(vertical = target3d.position.z - leftBottom.position.z)
9.计算小地图中Icon图标距离左下角的长度和宽度,记录为x、y;
(x = horizontal * 水平方向上的比例)
(y = vertical * 垂直方向上的比例)
10.Icon图标将锚点设置为左下角,设置其位置。
(target2d.anchoredPosition = new Vector(x, y))
使用说明
isEnableRot:Icon图标是否随三维目标的旋转而旋转
isEnableRotLerp:计算旋转值时是否使用插值运算
rotationLerpTime:插值到目标角度所需的时间
文章来源: coderz.blog.csdn.net,作者:CoderZ1010,版权归原作者所有,如需转载,请联系作者。
原文链接:coderz.blog.csdn.net/article/details/125577392
- 点赞
- 收藏
- 关注作者
评论(0)