본문 바로가기
게임 개발(유니티)/멋쟁이 사자처럼 3기_회고록

[멋쟁이사자처럼 유니티 TIL] 틱택토 게임 제작 스크립트 분석_1

by goraku97 2025. 2. 5.

CameraController 스크립트

화면비율에 따라 카메라의 가로크기는 고정되고, 세로크기만 변하게 하는 스크립트 

 

[RequireComponent(typeof(T))]

이 스크립트가 부착된 게임 오브젝트에 자동으로 (T) 타입 컴포넌트를 추가해 줌.

해당 코드를 사용하면 이하의 장점이 존재.

 

 

Camera.orthographicSize

UnityCamera 컴포넌트에서 사용하는 속성으로,

카메라의 세로 반쪽 크기를 설정하는 값

해당 코드를 사용하여 식으로 나타나면, 화면 비율이 달라져도 일정한 크기를 유지할 수 있음.

 

(가로크기는 고정하고, 세로 크기만 화면 비율에 따라서 달라지게 하고싶을떄)

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}");
    }
}