using UnityEngine; public class CameraController : MonoBehaviour { public Transform player; // Dra in din Player i Inspector public float smoothSpeed = 0.125f; // Hur mjukt kameran följer public Vector3 offset = new Vector3(0, 0, -10); // Kamerans position bakom spelaren // Begränsningar för kamerans rörelse private float minX = -16.4f; private float maxX = 16.4f; private float minY = -15f; private float maxY = 15f; // Dead zone (hur långt spelaren måste röra sig innan kameran följer) public float deadZoneX = 0.5f; public float deadZoneY = 0.3f; void LateUpdate() { Vector3 targetPosition = player.position + offset; // Dead zone: kameran rör sig bara om spelaren är utanför zonen float deltaX = targetPosition.x - transform.position.x; float deltaY = targetPosition.y - transform.position.y; if (Mathf.Abs(deltaX) < deadZoneX) { targetPosition.x = transform.position.x; } if (Mathf.Abs(deltaY) < deadZoneY) { targetPosition.y = transform.position.y; } // Begränsa kameran inom banans gränser targetPosition.x = Mathf.Clamp(targetPosition.x, minX, maxX); targetPosition.y = Mathf.Clamp(targetPosition.y, minY, maxY); // Mjuk rörelse transform.position = Vector3.Lerp(transform.position, targetPosition, smoothSpeed); } }