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里面這樣也是可以的
這邊寫一個協程 功能是一個模型一個模型的顯示名稱 具體使用自己看情況,自己寫下來方便記載