개발/유니티

유니티의, UI 버튼이 너무 클 때

kimchangmin02 2025. 9. 7. 09:32

 

 

 

해결방법

 

Hierarchy 패널에서 Canvas 오브젝트를 선택합니다.

Inspector 패널에서 Canvas 컴포넌트를 찾습니다.

 

Render Mode Screen Space - Camera로 변경합니다.

Render Camera 슬롯에 현재 씬의 Main Camera를 드래그하여 할당합니다.

 

 

 

 

  1. UI Scale Mode Scale With Screen Size로 변경합니다.
  2. Reference Resolution을 원하는 기준 해상도(예: 1920, 1080)로 설정합니다.
  3. Screen Match Mode Match Width Or Height로 설정하고, Match 슬라이더를 0.5로 설정하여 가로/세로 비율 변화에 유연하게 대응하도록 합니다.

 

이것도 해줘야한다네

 

 

 

 

 

 

 

하지만 "항상 1080x1920인가?" 라고 묻는다면, 정답은 "그렇지 않습니다, 하지만 대부분의 경우 좋은 기준점입니다." 입니다.

여기에 대한 몇 가지 설명이 있습니다:

  1. 모바일 기기의 해상도 다양성:
    • 최근 모바일 기기들은 매우 다양한 해상도를 가지고 있습니다. 1080x1920(FHD)은 여전히 가장 보편적인 해상도 중 하나이지만, QHD(1440x2560), UHD(2160x3840) 등 더 높은 해상도의 기기도 많습니다. 반대로 구형 기기나 저가형 기기 중에는 HD(720x1280)급 해상도도 있습니다.
    • 따라서 1080x1920을 Reference Resolution으로 설정하는 것은 '기준'이 되는 해상도를 잡는 것이지, 모든 모바일 기기의 해상도가 1080x1920이라는 의미는 아닙니다.
  2. Canvas Scaler의 역할:
    • Canvas Scaler Scale With Screen Size 모드는 Reference Resolution을 기준으로 비율을 계산하여 실제 기기의 해상도에 맞춰 UI를 스케일링해 줍니다.
    • 예를 들어, Reference Resolution을 1080x1920으로 설정했는데, 실제 게임이 실행되는 기기가 1440x2560이라면, UI는 1.33배(1440/1080 또는 2560/1920) 확대되어 보이도록 Canvas Scaler가 조절해 줍니다.
  3. Match Width Or Height 설정의 중요성:
    • 모바일 기기들은 해상도뿐만 아니라 **화면 비율(Aspect Ratio)**도 다양합니다. 16:9, 18:9, 19.5:9 등 제조사마다 다릅니다.
    • Match Width Or Height Match 슬라이더가 중요한 이유가 여기에 있습니다.
      • Match 슬라이더를 0 (Width)으로 설정하면, UI는 가로 해상도에 맞춰 스케일됩니다. 세로 해상도가 Reference Resolution과 다르면 위아래에 공간이 생기거나 잘릴 수 있습니다.
      • Match 슬라이더를 1 (Height)으로 설정하면, UI는 세로 해상도에 맞춰 스케일됩니다. 가로 해상도가 다르면 양옆에 공간이 생기거나 잘릴 수 있습니다.
      • Match 슬라이더를 0.5 (중간)으로 설정하면, 가로와 세로 해상도 변화에 좀 더 유연하게 반응하여 UI 요소들이 화면 비율이 달라지는 기기에서도 비교적 자연스럽게 배치되도록 도와줍니다.