using UnityEngine; public class TopFollowUI : MonoBehaviour { public GameObject target; public GameObject target_ui; private Vector3 position_target; private Vector3 position_ui; void Update () { float vector_x = Input.GetAxis("Horizontal"); float vector_y = Input.GetAxis("Vertical"); if (vector_x != 0 || vector_y != 0) { Vector3 vector = new Vector3(vector_x, 0, vector_y); target.transform.Translate(vector); } } private void LateUpdate() { position_target = target.transform.position; position_ui = Camera.main.WorldToScreenPoint(position_target); target_ui.transform.position = position_ui; target_ui.transform.localScale = Get_Scale(); target_ui.transform.localEulerAngles = Get_Ratation(); } private Vector3 Get_Scale() { Vector3 pos_c = Camera.main.transform.position; Vector3 pos_t = target.transform.position; float distance = Vector3.Distance(pos_c, pos_t); distance = 10 / distance; return Vector3.one * distance; } private Vector3 Get_Ratation() { Vector3 pos_c = Camera.main.transform.position; Vector3 pos_t = target.transform.position; Vector3 targetDir = pos_t - pos_c; float angle = Vector3.Angle(Vector3.forward, targetDir); return Vector3.up * angle; } }
血条
猜你喜欢
转载自www.cnblogs.com/Joke-crazy/p/9254360.html
今日推荐
周排行