맵 내 카메라 이동 제한
카메라의 min, max Position을 통제할 것이기 때문에 x, y 값만 조정하면 되므로 Vector2 사용
Mathf.Clamp
Clamp: 최소/최대 값을 설정하여 float 값이 범위 이외의 값을 넘지 않도록 함
CameraController 스크립트
public class CameraController : MonoBehaviour
{
public Transform target;
public float smoothing;
public Vector2 minPosition;
public Vector2 maxPosition;
void LateUpdate()
{
// transform.position = new Vector3(target.transform.position.x, target.transform.position.y, transform.position.z);
if (transform.position != target.position)
{
Vector3 targetPosition = new Vector3(target.position.x, target.position.y, transform.position.z);
targetPosition.x = Mathf.Clamp(targetPosition.x, minPosition.x, maxPosition.x);
targetPosition.y = Mathf.Clamp(targetPosition.y, minPosition.y, maxPosition.y);
transform.position = Vector3.Lerp(transform.position, targetPosition, smoothing);
}
}
}
Main Camera의 위치를 이동하며 minPosition과 maxPosition의 x, y좌표를 알아내어 스크립트에서 만들어둔 슬롯에 x, y 값을 입력한다
(카메라의 범위가 minPosition, maxPosition으로 제한됨)