TIL_2025_02_25 Unity Canvas

김효중·2025년 2월 25일

개요-Unity의 Canvas(캔버스)

유니티의 캔버스는 UI요소(텍스트, 이미지, 버튼, 입력창등등)의 요소를 씬에 표시하기 위한 필수 요소이다.
UI요소는 반드시 캔버스 안에 존재해야한다. 만약 새로운 UI요소를 생성할 경우 캔버스가 없다면 자동으로 생성된다.
캔버스내에 있는 UI요소들은 계층구조와 동일순서로 그려지면 첫번째 자식이 제일먼저 그려지고 그뒤의 자식이 그려진다.

랜더 모드

캔버스는 어떻게 씬또는 월드상에 존재하는지에 따라 렌더모드를 설정할 수 있다.

스크린 공간 - 오버레이(Screen Space - Overlay)

이 모드에서는 기본값으로 화면위에 캔버스가 렌더링 된다.
그렇기에 화면의 크기가 해상도가 변경되면 캔버스의 크기도 자동으로 변경된다.

스크린 공간 - 카메라(Screen Space - Camera)

이 모드는 오버레이 모드와 비슷하기만 이 모드는 캔버스가 특정 카메라에서 주어진 거리만큼 앞쪽에 위치하게 된다. 그렇기에 카메라의 설정 영향을 잘 받는다. 원근감과 왜곡이 카메라 설정에 따른다.
이 모드역시 크기가 자동으로 변경된다.

월드 공간(World Space)

이 모드는 캔버스가 씬에 있는 다른 오브젝트처럼 동작할 수 있다.
다른 오브젝트의 자식으로 하여 함께 움직일 수 있다.
오브젝트와 함께 동작할 때 사용한다.

캔버스 스케일러

캔버스 스케일러 컴포넌트는 캔버스 내 UI요소의 전체적은 스케일과 픽셀 밀도를 지정한다.
스케일은 글꼴 크기와 이미지 경계등 UI요소에 영향을 끼친다.

UI Scale Mode

1. UI Constant Pixel Size

UI 요소가 화면 크기에 관계없이 동일한 픽셀 크기로 유지된다.
픽셀 단위로 고정 되기에 고해상도의 경우 UI가 작게 보인다.

2. Scale With Screen Size

UI 요소가 화면 크기에 비례하여 변한다.

3. Constant Physical Size

UI 요소가 화면 크기와 해상도에 관계없이 동일한 물리적인 크기로 유지된다.
물리적 크기를 기반으로 하기에 해상도가 변해도 같은 물리적 크기를 유지한다.

Reference Resolution

UI의 기준 해상도이다. 화면의 해상도가 보다 크다면 UI가 크게, 작다면 작게 스케일된다.

Screen Match Mode

현재 해상도의 종횡비가 기준 해상도에 맞지 않는 경우 사용된다.

  • Match Width or Height : 너비 또는 높이를 기준으로 하여 스케일한다.
  • Expand : 캔버스의 크기가 기준 해상도보다 작지 않도록 스케일한다.
  • Shrink : 캔버스의 크기가 기준 해상도보다 커지지 않도록 스케일한다.

Match

스케일링 할 때 기준을 너비로 할지, 높이로 할지, 특정 비율을 정한다.

Reference Pixels Per Unit

스프라이트에 ‘Pixels Per Unit’ 설정이 적용된 경우 스프라이트의 1픽셀이 UI의 유닛 하나의 크기를 정한다. 기본값 100

profile
도전하는 개발자

0개의 댓글