unity UGUI跟随3D物体的坐标转换
ugui 在物体上实时更新位置
本脚本挂在那个地方都行
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class UICollor : MonoBehaviour { public GameObject model;//随便选一个3d模型point public Image image;//ugui图片 public Text text; //ugui图片text public float sety = 1; public LineRenderer line; //line Vector3[] positions = new Vector3[] { Vector3.zero, Vector3.zero }; void Update() { // Vector3 Nposition = Camera.main.WorldToScreenPoint(new Vector3(model.transform.position.x, model.transform.position.y, model.transform.position.z)); image.transform.position = Camera.main.WorldToScreenPoint(new Vector3(model.transform.position.x, model.transform.position.y+sety, model.transform.position.z)); //image.transform.position = Camera.main.WorldToScreenPoint(model.transform.position); Vector3 Lposition = Camera.main.ScreenToWorldPoint(image.transform.position); positions[0] = model.transform.position; positions[1] = Lposition; line.transform.position = model.transform.position ; line.SetPositions(positions); } //显示文字 public void SetText(string value) { text.text = value; } //图片消失 public void SetDisPlay() { image.gameObject.SetActive(false); } //图片出现 public void Setplay() { image.gameObject.SetActive(true); } // public void SetModel(GameObject model) { this.model = model; } //线出现 public void SetLineplay() { line.gameObject.SetActive(true); } //线消失 public void SetLineHiding() { line.gameObject.SetActive(false); } }
update里面这样也是可以的
这边写一个协程 功能是一个模型一个模型的显示名称 具体使用自己看情况,自己写下来方便记载
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器