当前位置:网站首页>Unity SKFramework框架(二十三)、MiniMap 小地图工具
Unity SKFramework框架(二十三)、MiniMap 小地图工具
2022-07-05 09:20:00 【CoderZ1010】
目录
简介
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:插值到目标角度所需的时间
边栏推荐
- Nips2021 | new SOTA for node classification beyond graphcl, gnn+ comparative learning
- 浅谈Label Smoothing技术
- [ctfhub] Title cookie:hello guest only admin can get flag. (cookie spoofing, authentication, forgery)
- Introduction Guide to stereo vision (5): dual camera calibration [no more collection, I charge ~]
- nodejs_ fs. writeFile
- OpenGL - Lighting
- 阿里十年测试带你走进APP测试的世界
- nodejs_ 01_ fs. readFile
- Applet (use of NPM package)
- 我的一生.
猜你喜欢
[code practice] [stereo matching series] Classic ad census: (5) scan line optimization
LeetCode 503. 下一个更大元素 II
Rebuild my 3D world [open source] [serialization-3] [comparison between colmap and openmvg]
Wxml template syntax
优先级队列(堆)
Global configuration tabbar
LeetCode 496. 下一个更大元素 I
【阅读笔记】图对比学习 GNN+CL
Svg optimization by svgo
[ctfhub] Title cookie:hello guest only admin can get flag. (cookie spoofing, authentication, forgery)
随机推荐
nodejs_ fs. writeFile
混淆矩阵(Confusion Matrix)
嗨 FUN 一夏,与 StarRocks 一起玩转 SQL Planner!
Golang foundation -- map, array and slice store different types of data
Priority queue (heap)
顶会论文看图对比学习(GNN+CL)研究趋势
Return of missing persons
Kotlin introductory notes (III) kotlin program logic control (if, when)
图神经网络+对比学习,下一步去哪?
C#图像差异对比:图像相减(指针法、高速)
Codeforces Round #648 (Div. 2) E.Maximum Subsequence Value
3D reconstruction open source code summary [keep updated]
nodejs_ 01_ fs. readFile
Applet data attribute method
c语言指针深入理解
My experience from technology to product manager
C language - input array two-dimensional array a from the keyboard, and put 3 in a × 5. The elements in the third column of the matrix are moved to the left to the 0 column, and the element rows in ea
Editor use of VI and VIM
Codeworks round 639 (Div. 2) cute new problem solution
Rebuild my 3D world [open source] [serialization-1]