unity UGUI跟随3D物体的坐标转换
Posted qq2351194611
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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里面这样也是可以的
这边写一个协程 功能是一个模型一个模型的显示名称 具体使用自己看情况,自己写下来方便记载
以上是关于unity UGUI跟随3D物体的坐标转换的主要内容,如果未能解决你的问题,请参考以下文章