using UnityEngine; public class CameraController : MonoBehaviour { public Transform target; public float distance = 5f; public float height = 3f; public float sensitivity = 2f; public Vector2 verticalLimits = new Vector2(-30f, 30f); private float currentX = 0f; private float currentY = 0f; private void LateUpdate() { // Kameranın pozisyonunu etrafında döneceği midpoint uzaklığına göre belirlemek için karaktere ve offsete göre bir pozisyona sahip olması gerekir transform.position = target.position - transform.forward * distance + Vector3.up * height; // Kameranın hedefe bakmasını sağlamak için sürekli olarak hedefi izlemesini sağlamamız gerekir. transform.LookAt(target.position); // Fare hareketleriyle kameranın etrafında dönmesi sağlanır currentX += Input.GetAxis("Mouse X") * sensitivity; currentY -= Input.GetAxis("Mouse Y") * sensitivity; currentY = Mathf.Clamp(currentY, verticalLimits.x, verticalLimits.y); transform.position = target.position; transform.rotation = Quaternion.Euler(currentY, currentX, 0f); transform.Translate(new Vector3(0f, 0f, -distance)); } }