Unity/Tutorial

[Unity] Canvas (UI 시스템)

SMNNMN 2026. 3. 1. 23:47

Canvas에 대해서 배워 볼 것이다.

UI는 게임 화면에 표시되는 모든 인터페이스 요소들을 뜻한다.

Canvas란 UI를 그리는 공간이다.

체력바, 대사, 스킬 아이콘, 옵션창 등이 존재한다.

 

차례 

Canvas

Event System

 

 

Canvas

https://docs.unity3d.com/kr/560/Manual/UICanvas.html

모든 UI는 Canvas 안에 있어야 하며, 어떤 Canvas의 자식 이여야 한다.

Canvas를 생성하는 방법

UI 요소들 생성할 때, Canvas가 존재하지 않으면, 자동으로 Canvas를 생성하고 그 자식으로 UI를 넣는다.

 

Canvas를 생성하게 되면 Scene뷰에서 월드 공간에 Canvas가 생성되는 것을 볼수 있다.

UI 요소를 화면에 그리는 순서는 첫번째 자식이 가장 먼저 그려지며, 두번째 자식이 그 다음에 그려진다. 

 

Canvas 컴포넌트

https://docs.unity3d.com/kr/2021.3/Manual/class-Canvas.html

Rander Mode : UI를 보이게 하는 방법

  • Screen Space - Overlay : UI요소가 씬 위에 렌더링 된다.

  1. Pixel Perfect : 정밀도를 위한 안티 앨리어싱 없이 렌더링한다.
  2. 같은 Overlay Canvas 끼리 렌더링 순서 (숫자가 높을 수록 위에 그려진다.)
  3. Target Display : 멀티 모니터 환경에서 어떤 모니터 디스플레이에 출력할지

Screen Space - Overlay 를 사용한 화면

  • Screen Space - Camera : 특정 카메라에 의해 렌더링 된다. (카메라의 설정이 UI에 영향을 준다.)

  1. Render Caemra : UI를 렌더링할 카메라 
  2. Plane Distance : 카메라 앞으로 UI 평면이 위치할 거리

Screen Space - Camera 를 사용한 화면

  • World Space -  Camera : 씬에 있는 다른 오브젝트처럼 동작한다.

  1. Event Camera : UI 이벤트를 처리하는데 사용되는 카메라

World Space -  Camera 를 사용한 화면

 

Canvas Scaler

https://docs.unity3d.com/kr/560/Manual/script-CanvasScaler.html

Canvas 내 UI 요소의 전체적인 크기와 픽셀 밀도를 제어하는 데 사용된다.

 

UI Scale Mode

Constant Pixel Size : UI 요소가 화면 크기에 관계없이 동일한 픽셀 크기로 유지된다.

  • Scale Factor : Canvas의 모든 UI요소를 이 배율로 스케일한다.

Scale With Screen Size : 화면이 커질수록 UI 요소도 커진다.

Reference Resolution : 기준 해상도 (화면해상도가 크면 UI 가 더 크게 스케일, 작으면 작게 스케일)

Screen Match Mode : 해상도가 기준 해상도에 맞지 않을경우 캔버스 영역을 스케일하는 모드

  • Match Width Or Heigth : 슬라이더 0~1에 따라 해상도를 맞춘다. (0 : Width기준, 1 : Heigth기준)
  • Expand : 캔버스 크기가 기준 해상도보다 작아지지 않도록 캔버스 영역을 확장한다.
  • Shrink : 캔버스 크기가 기준 해상도보다 커지지 않도록 캔버스 영역을 축소한다.

Constant Physical Size : 화면 크기가 해상도와 관계없이 실제 물리적 크기 기준

Physical Unit : 위치와 크기를 지정하는 물리적 단위 (cm , mm , point 등)

Fallback Screen DPI : 화면 DPI를 알 수 없는 경우 가정되는 DPI

 

Reference Pixels PerUnit : 1Unit 안에 들어가는 픽셀의 기준값

 

 

Graphic Raycaster 

https://docs.unity3d.com/kr/2021.3/Manual/script-GraphicRaycaster.html

Canvas 위 UI 요소의 광선 충돌 검사를 수행하는 컴포넌트

Ignore Reversed Graphics : 카메라 반대방향의 UI는 Raycast 무시 (Wolrd Space에서 중요)

Blocked Objects : Raycast를 막을 오브젝트 (2D 오브젝트 , 3D 오브젝트)

Blocking Mask : Raycast를 막은 레이어

 

 

Event System 

https://docs.unity3d.com/kr/2021.3/Manual/EventSystem.html

Unity에서 입력을 감지하고, UI 또는 오브젝트에 이벤트를 전송한다.

Canvas를 생성할 때, 자동으로 생성되며, 따로 생성 할수 있다.

기본적으로 Event System , Input System UI Input Module 컴포넌트를 가진다.

 

 

Event System 컴포넌트

First Selected GameObject : 시작 시 자동으로 선택될 UI

Send Navigation Events : 입력을 UI 네비게이션 이벤트로 보낼지 여부

Drag Threshold : 드래그로 인식되는 최소 픽셀 거리

 

 

Input System UI Input Module

https://docs.unity3d.com/Packages/com.unity.inputsystem@1.0/api/UnityEngine.InputSystem.UI.InputSystemUIInputModule.html

UI 이벤트를 처리하는 모듈

Send Pointer Hover To Parent : Pointer Hover(마우스 맴돌기) 이벤트를 부모 오브젝트까지 전달한다.

Move Repeat Delay : 버튼을 누르고 있을때, 첫 반복 입력까지 대기시간

Move Repeat Rate : 반복 입력 속도

Deselect On Background Click : UI 바깥 클릭시 선택 해제 여부

XR Tracking Origin : XR 환경에서 입력 좌표 기준이 되는 Transform

Pointer Behavior : 멀티 디바이스 입력 처리 방식 (터치, 마우스 동시 지원)

Scroll Delta Per Tick : 마우스 휠 한번 굴릴 때, 적용되는 스크롤 값 배수

Actions Asset : Input Actions 참조파일

Point : 마우스 입력 액션 (클릭 위치)

Left Click :좌클릭 입력 액션

Middle Click : 마우스 휠 클릭

Right Click : 우클릭 입력 액션

Scroll Wheel : 스크롤 휠 값

Move : 방향키 , 게임패트 스틱 입력

Submit : Enter , 게임패트 A 버튼

Cancle : Esc / 게임 패트 B 버튼

Tracked Position : VR/AR 컨트롤러 위치

Tracked Orientation : VR/AP 컨트롤러 회전값

Cursor Lock Behavior : 마우스 커서 잠금 시 처리 방식

 

'Unity > Tutorial' 카테고리의 다른 글

[Unity] 상호작용 UI (Button, Toggle, Slider 등)  (0) 2026.03.03
[Unity] 그래픽 UI (Text, Image, Raw Image, Panel)  (0) 2026.03.02
[Unity] Raycast  (0) 2026.02.28
[Unity] Cinemachine (심화)  (0) 2026.02.27
[Unity] Cinemachine (응용)  (0) 2026.02.25