网上演练贵港万达广场(人员密集)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

29 lines
1.1 KiB

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class UIFollowGameObj : MonoBehaviour {
public GameObject TargetObj;
public Camera _camera;
public Vector3 Offset;
private Canvas canvas;
// Use this for initialization
void Start () {
canvas = GameObject.Find("Canvas").GetComponent<Canvas>();
_camera = canvas.GetComponentInChildren<Camera>();
}
// Update is called once per frame
void Update () {
//目标世界坐标转画布坐标
Vector3 worldToScreenPoint = Camera.main.WorldToScreenPoint(TargetObj.transform.position);
//在画布上对应的点
worldToScreenPoint = new Vector3(worldToScreenPoint.x, worldToScreenPoint.y, canvas.planeDistance);
Vector3 screenToWorldPoint = _camera.ScreenToWorldPoint(worldToScreenPoint);
//得到最终画布坐标系中的投影点
Vector3 projPoint = canvas.transform.worldToLocalMatrix.MultiplyPoint(screenToWorldPoint);
this.transform.localPosition = new Vector3 (projPoint.x,projPoint.y,0)+Offset;
}
}