Unity Canvas Scaler

Canvas Scaler (캔버스 스케일러)

https://docs.unity3d.com/Packages/com.unity.ugui@2.0/manual/script-CanvasScaler.html

캔버스 내 모든 UI 요소의 전체적인 스케일(크기)과 픽셀 밀도를 제어하는 데 사용하는 컴포넌트

이 스케일링은 폰트 크기와 이미지 테두리(Borders)를 포함하여 캔버스 아래에 있는 모든 요소에 영향을 미친다.


1. 주요 속성 (Properties)

속성기능
UI Scale Mode캔버스의 UI 요소가 스케일링되는 방식을 결정
– Constant Pixel Size화면 크기에 상관없이 UI 요소가 동일한 픽셀 크기를 유지
– Scale With Screen Size화면이 커질수록 UI 요소도 함께 커짐 (가장 많이 사용)
– Constant Physical Size화면 크기나 해상도에 상관없이 UI 요소가 동일한 물리적 크기(mm 등)를 유지

(1) Scale With Screen Size

특정 기준 해상도(Reference Resolution)를 설정하고, 현재 화면에 맞춰 UI를 키우거나 줄입니다.

Reference Resolution: UI 레이아웃을 설계할 때 기준이 되는 해상도입니다.

Screen Match Mode: 현재 화면 비율이 기준 해상도와 다를 때 캔버스 영역을 맞추는 방식입니다.

  • Match Width or Height: 가로 폭이나 세로 높이 중 하나를 기준으로(또는 그 사이 값으로) 스케일을 조절합니다.
  • Expand: 캔버스 크기가 기준 해상도보다 작아지지 않도록 가로나 세로 방향으로 확장합니다.
  • Shrink: 캔버스 크기가 기준 해상도보다 커지지 않도록 가로나 세로 방향으로 자릅니다(Crop).

Match: 가로(0)와 세로(1) 중 어느 쪽을 스케일링 기준으로 삼을지 결정합니다.

(2) Constant Pixel Size

UI 요소의 위치와 크기가 화면의 픽셀 단위로 지정됩니다.

  • Scale Factor: 캔버스 내 모든 UI 요소에 일괄적으로 적용되는 스케일 값입니다.
  • Reference Pixels Per Unit: 스프라이트의 ‘Pixels Per Unit’ 설정이 이 값과 같다면, 스프라이트의 1픽셀은 UI상의 1유닛(픽셀)과 대응합니다.

(3) Constant Physical Size

UI 요소의 크기를 밀리미터(mm), 포인트(points), 파이카(picas) 등 물리적 단위로 지정합니다.

  • Physical Unit: 위치와 크기를 지정할 물리적 단위입니다.
  • Fallback Screen DPI: 기기의 DPI를 알 수 없을 때 가정할 기본 DPI 값입니다.
  • Default Sprite DPI: 스프라이트의 픽셀 밀도 기준입니다.
  • Reference Pixels Per Unit: 스프라이트의 ‘Pixels Per Unit’ 설정이 이 값과 같다면, 스프라이트의 1픽셀은 UI상의 1유닛(픽셀)과 대응합니다.

2. 언제 사용하나요?

모드핵심 개념주 사용처
Scale With Screen Size비율 중심일반적인 모든 모바일/PC 게임
Constant Pixel Size픽셀 수 중심전문 도구, 캔버스 좌표가 중요한 앱
Constant Physical Size실제 길이(cm) 중심물리적 크기가 고정되어야 하는 특수 목적 앱

(1) 모바일 게임 – Scale With Screen Size

가장 많이 사용하며, 모바일 게임 개발의 표준입니다.

  • 언제 사용하나?
    • 대부분의 모바일 게임, PC 게임을 만들 때.
    • 화면이 커지면 UI도 그에 비례해서 커지길 원할 때.
    • 다양한 해상도(아이폰, 갤럭시, 태블릿 등)에 대응해야 할 때.
  • 특징: 기준 해상도(예: 1440×2560)를 정해두면 유니티가 알아서 기기 화면에 맞춰 UI를 키우거나 줄여줍니다. 개발자는 한 가지 사이즈만 고민하면 됩니다.

(2) 도구 모음, 정교한 그래픽 툴 – Constant Pixel Size

픽셀 숫자를 그대로 유지합니다.

  • 언제 사용하나?
    • 웹 브라우저의 도구 모음이나 정교한 그래픽 툴 같은 앱을 만들 때.
    • 해상도가 높아져도 아이콘이 커지지 않고, 대신 더 넓은 작업 공간을 보여주고 싶을 때.
    • 저해상도와 고해상도에서 UI의 “선명도”를 1:1 픽셀 매칭으로 유지하고 싶을 때.
  • 특징: 100×100 픽셀 버튼은 4K 모니터에서도 100×100 픽셀입니다. 따라서 고해상도 기기일수록 UI가 매우 작게 보입니다.
그림판

(3) 실제 크기가 중요 – Constant Physical Size

실제 자(Ruler)로 쟀을 때의 물리적 크기를 유지합니다.

  • 언제 사용하나?
    • 실제 크기가 중요한 앱: 예를 들어 화면에 대고 길이를 재는 ‘자(Ruler) 앱’이나, 사람의 손가락 크기에 맞춰 버튼 크기가 물리적으로 일정해야 하는 특수 장비용 앱.
    • 화면의 밀도(DPI)와 상관없이 버튼이 항상 1cm가 되어야 할 때.
  • 특징: 기기가 5인치든 10인치든 상관없이 버튼의 실제 길이를 유지하려 노력합니다. 기기가 화면의 DPI 정보를 정확히 전달해줘야 정상 작동합니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤