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里面這樣也是可以的

 

 

 

這邊寫一個協程 功能是一個模型一個模型的顯示名稱   具體使用自己看情況,自己寫下來方便記載

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM