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:插值到目标角度所需的时间

猜你喜欢

转载自blog.csdn.net/qq_42139931/article/details/125577392