CameraController 스크립트
화면비율에 따라 카메라의 가로크기는 고정되고, 세로크기만 변하게 하는 스크립트
[RequireComponent(typeof(T))]
이 스크립트가 부착된 게임 오브젝트에 자동으로 (T) 타입 컴포넌트를 추가해 줌.
해당 코드를 사용하면 이하의 장점이 존재.


Camera.orthographicSize
Unity의 Camera 컴포넌트에서 사용하는 속성으로,
카메라의 세로 반쪽 크기를 설정하는 값

해당 코드를 사용하여 식으로 나타나면, 화면 비율이 달라져도 일정한 크기를 유지할 수 있음.
(가로크기는 고정하고, 세로 크기만 화면 비율에 따라서 달라지게 하고싶을떄)
public class CameraController : MonoBehaviour
{
// widthUnit 을 6으로 설정
[SerializeField] private float widthUnit = 6f;
// _camera 변수를 선언하여, Camera 컴포넌트를 저장할 공간을 만듭
private Camera _camera;
void Start()
{
_camera = GetComponent<Camera>();
// .orthographicSize : 카메라의 세로 반쪽 크기를 설정하는 값
// 카메라 컴포넌트가 orthographic 일때만 사용가능
_camera.orthographicSize = widthUnit / _camera.aspect;
Debug.Log($"화면 비율 : {_camera.aspect}, 세로: {_camera.orthographicSize} 가로 {widthUnit}");
}
}
(세로크기는 고정하고, 가로 크기만 화면 비율에 따라서 달라지게 하고싶을떄)
public class CameraController : MonoBehaviour
{
// 세로 크기는 고정하고 싶을떄
[SerializeField] private float widthHeight = 5f;
private Camera _camera;
void Start()
{
_camera = GetComponent<Camera>();
// 🔹 세로 크기를 고정 (이 값을 변경하면 세로 크기가 항상 유지됨)
_camera.orthographicSize = widthHeight;
// 🔹 가로 크기를 화면 비율에 따라 자동 조정
float halfWidth = widthHeight * _camera.aspect;
Debug.Log($"화면 비율 : {_camera.aspect}, 세로: {widthHeight} 가로 {halfWidth}");
}
}
'게임 개발(유니티) > 멋쟁이 사자처럼 3기_회고록' 카테고리의 다른 글
| Anchor 프리셋을 사용하는 이유 (0) | 2025.01.25 |
|---|---|
| [멋쟁이사자처럼 유니티 TIL] 2025_01_23 강의 요약 및 정리 (0) | 2025.01.23 |
| 유니티 디자인 패턴- Singleton 패턴 (0) | 2025.01.19 |
| [멋쟁이사자처럼 유니티 TIL] 2025_01_17 강의 요약 및 정리 (0) | 2025.01.18 |
| [멋쟁이사자처럼 유니티 TIL] 2025_01_16 강의 요약 및 정리 (0) | 2025.01.16 |