using System.Collections; using System.Collections.Generic; using UnityEngine; public class Tracker : MonoBehaviour { //public Transform trackedObject; //public float updateSpeed = 3; //public Vector2 trackingOffset; //public Vector3 offset; [SerializeField] private Transform target; [SerializeField] private Vector3 offsetPosition; [SerializeField] private Space offsetPositionSpace = Space.Self; [SerializeField] private bool lookAt = true; void Start() { float xpos = Random.Range(-3.0f, 5.0f); float ypos = Random.Range(3.0f, 5.0f); float zpos = Random.Range(-3.0f, 5.0f); Vector3 pos = transform.position; // get a copy pos.x = xpos; pos.y = ypos; pos.z = zpos; offsetPosition = pos; } private void LateUpdate() { Refresh(); } public void Refresh() { if (target == null) { Debug.LogWarning("Missing target ref !", this); return; } // compute position if (offsetPositionSpace == Space.Self) { print("lol"); transform.position = target.TransformPoint(offsetPosition); } else { print("else"); transform.position = target.position + offsetPosition; } // compute rotation if (lookAt) { transform.LookAt(target); } else { transform.rotation = target.rotation; } }