首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

Unity SKFramework框架(十九)、POI 兴趣点/信息点

  • 25-03-03 17:01
  • 4618
  • 5863
blog.csdn.net

目录

一、简介

二、使用说明

1.二维与三维的匹配

2.移除 

3.UI分辨率 

4.Camera相机 

三、Example 示例 


一、简介

POI可以理解为场景中的一些有意义的点,例如车站、商场、医院、监控等等,该功能通常用于数字孪生项目,主要目的是将代表这些点位的二维图标与三维目标位置进行“绑定”,实质内容就是世界坐标转屏幕坐标。如下例所示,我们将一个监控点的图标与模型位置进行绑定:

该工具已经上传至我的框架SKFramework中的开发工具箱,如图所示。

框架已经在Github开源,地址:GitHub - 136512892/SKFramework: Unity SKFramework开发框架

二、使用说明

1.二维与三维的匹配

通过Match函数将POI图标与三维目标进行匹配,其中flag参数表示匹配的标识符,系统会将标识符相同的RectTransform与GameObject进行匹配。

  1. ///
  2. /// 根据标识符进行匹配
  3. ///
  4. /// 标识符
  5. /// RectTransform组件
  6. public void Match(string flag, RectTransform rectTransform);
  7. ///
  8. /// 根据标识符进行匹配
  9. ///
  10. /// 标识符
  11. /// 三维目标
  12. public void Match(string flag, GameObject target);

2.移除 

通过Delete函数移除一个POI点,移除后将不再进行世界坐标转屏幕坐标的计算。

  1. ///
  2. /// 根据标识符移除
  3. ///
  4. /// 标识符
  5. /// 移除成功返回true 否则返回false
  6. public bool Delete(string flag);

3.UI分辨率 

代码中默认认为UI使用的分辨率为1920*1080,需要根据实际进行更改

4.Camera相机 

世界坐标与屏幕坐标的转换是通过Camera类中的WorldToScreenPoint函数实现的,因此系统中需要一个Camera主相机,系统初始化时会首先获取场景中Tag标签为MainCamera的相机,如果不存在再通过FindObjectOfType函数查找相机。

三、Example 示例 

  1. using UnityEngine;
  2. using SK.Framework;
  3. public class Example : MonoBehaviour
  4. {
  5. [SerializeField] private RectTransform rt;
  6. [SerializeField] private GameObject target;
  7. private void Start()
  8. {
  9. POI.Match("监控1", rt);
  10. POI.Match("监控1", target);
  11. }
  12. }

运行后如图所示: 

当代野生程序猿
微信公众号
Unity开发日志分享,欢迎关注/留言/私信。
注:本文转载自blog.csdn.net的CoderZ1010的文章"https://blog.csdn.net/qq_42139931/article/details/125272982"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top