유니티 게임 개발(10)

Proffeine0327·2023년 6월 10일

Unity Basic Development

목록 보기
10/11
  1. Canvas

Canvas는 유니티에서 UI를 표시하기 위한 장치이다.
Canvas에는 Image, Button등을 표시 할 수 있으며 Canvas의 자식 오브젝트들이 표시된다.

UI > Canvas를 선택해 Canvas를 만들어보자.

Canvas를 만들면 Scene에 굉장히 큰 평면이 만들어질것이다.
Canvas는 기본적으로 게임 화면 사이즈이며 크기는 바꿀 수 없다.
필자는 1920 x 1080사이즈로 하였다.

만든 Canvas를 우클릭해 메뉴창을 연 다음 UI > Image를 선택해 Image를 만들어보겠다.
생성한 이미지를 Inpector창에서 확인해보면 Transform이 아닌 RectTransform이 있는것이 보인다.

  1. RectTransfrom

유저들은 여러가지 크기의 화면으로 게임을 플레이한다.
만약 UI가 단순한 위치로 계산된다면 화면의 크기에 따라서 UI의 위치가 변할것이다.

따라서 일반적인 Transform처럼 위치, 회전, 크기로 측정하는것이 아닌
전체 영역에 대한 비율로 그래픽 요소를 표현할 필요가 있었다.

그래서 유니티는 UI를 표시하는 요소인 Canvas와 그의 자식들은 일반적인 Transform이 아닌 RectTransform을 자동으로 부착하게 하였다.

RectTransform은 Anchor, Width, Height, Pivot 등의 변수를 추가적으로 담고있다.

  1. Anchor

앵커는 포지션의 중심축이 될 위치이다. 4개의 화면비율(0.0~1.0)로 되어있으며
각각 좌측상단, 우측상단, 좌측하단, 우측하단을 맏고있다.

예시를 들어보자.
체력 UI를 만들고싶다고 가정하자. 보통 체력 UI는 좌측 상단에 있기 때문에 좌측 상단에 UI를 배치하자 업로드중..

만약 플레이어의 화면이 내가 설정한 화면과 다르다 해보자. 그러면 좌측 상단에 붙어있여야할 체력 UI가 띄어져 버리고 만다.
업로드중..

이는 pivot이 중앙이라서 그런데 이때는 pivot값을 좌측 상단으로 기준점을 두면 된다.
업로드중..
업로드중..

profile
Programmer needs Caffeine / 공부하는 학생

0개의 댓글