728x90

레터박스: 화면의 가로세로 비율(aspect ratio)이 게임이 설정된 비율과 다를 때 빈 공간을 화면의 상단/하단 또는 좌우에 채워주는 방식

초동수사는 화면의 가로세로 비율을 고정시켜 놓는다.

using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
public class CameraResolution : MonoBehaviour
{
    private void Awake()
    {
        // 현재 GameObject에 부착된 Camera 컴포넌트를 가져오는 코드
        Camera cam = GetComponent<Camera>();

        // 현재 카메라의 뷰포트 영역을 가져오는 코드
        Rect viewportRect = cam.rect;

        // 원하는 가로 세로 비율을 계산하는 코드
        float screenAspectRatio = (float)Screen.width / Screen.height;
        // float targetAspectRatio = 22f / 9f; // 테스트
        float targetAspectRatio = 13f / 6f; // 원하는 고정 비율 설정 (예: 16:9)

        // 화면 가로 세로 비율에 따라 뷰포트 영역을 조정하는 코드
        if (screenAspectRatio < targetAspectRatio)
        {
            // 화면이 더 '높다'면 (세로가 더 길다면) 세로를 조절하는 코드
            viewportRect.height = screenAspectRatio / targetAspectRatio;
            viewportRect.y = (1f - viewportRect.height) / 2f;
        }
        else
        {
            // 화면이 더 '넓다'면 (가로가 더 길다면) 가로를 조절하는 코드.
            viewportRect.width = targetAspectRatio / screenAspectRatio;
            viewportRect.x = (1f - viewportRect.width) / 2f;
        }

        // 조정된 뷰포트 영역을 카메라에 설정하는 코드
        cam.rect = viewportRect;
    }
}

 

 

다른 게임에도 항상 이걸 쓰는데... 아이폰의 경우는 거의 대부분 레터박스가 안 보이거나 조금 보인다. 애플만세.

하지만 아이패드와 갤럭시는 어쩔 수 없이 경우가 다른데, 레터박스가 잘 보이는 경우 아래와 같은 현상이 나온다.

 

 

편집은 구찮으니... 대강 뒷쪽에 나온다...

 

 

이렇게 잔상이 남아버리는데, 그럴땐 마지막에

void OnPreRender() => GL.Clear(true, true, Color.black);

 

이렇게 넣어주면 된다. 내 경우에는 이걸로 해결되었다.

 

 

 

그리고 또 다른 문제가 있었는데, 레터박스가 깜빡깜빡 플리커 현상도 있었다.

당시에는

Camera.main.Render();

 

이걸 쓰고 있었기 때문에 그런 현상이 일어난 거였다.

지우면 괜찮아졌음.

 

하지만 그래도 그런 현상이 안 사라진다면, 다른 사람들은 Camera컴포넌트의 Clear Flags를 Solid Color나 Skybox로 하면 된다고한다. 이미 이 게시글에 들어왔을 땐 저거 다 해보고 들어왔겠지만...

 

 


참고로 동영상의 게임은 "초동 수사"라는 게임이다. 그렇다! 내가 만든 것이다!

도움이 되었다면, 한 번씩 해보고 가시면 very very 감사하다.

 

[android]

https://play.google.com/store/apps/details?id=com.loomiloomi.crimescene

 

[ios]

https://apps.apple.com/kr/app/%EC%B4%88%EB%8F%99%EC%88%98%EC%82%AC-%EC%A6%9D%EC%96%B8-%EC%A6%9D%EA%B1%B0-%EC%B6%94%EB%A6%AC%EA%B2%8C%EC%9E%84/id6499072416

 

‎초동수사 - 증언/증거 추리게임

‎Episode 1. 자택에서 친구들과 놀던 평범한 여대생 "나 미녀"가 갑작스럽게 사망했다. 그런데, 주변 사람들의 대화 내용이 심상치 않다!? ======== 안 남찬: "아니요! 저희는 밥을 먹고 있었을 뿐입니

apps.apple.com

 

+ Recent posts