Unity UGUI - Canvas 유니티 캔버스 알아보기

UGUI vs NGUI

UGUI는 유니티에서 제공하는 공식 UI 시스템입니다. 예전에는 UGUI가 사용하기가 매우 불편했기 때문에 유료에셋 NGUI를 많이 사용했었다고 합니다.

 

듣기로는 NGUI에셋을 개발한 분을 유니티에서 스카웃을 해서 UGUI를 만들었다고 합니다. 새롭게 프로젝트를 만들거나 유니티를 이제 막 배우려고 한다면 UGUI 공식 유니티 UI 시스템을 사용하자.

Canvas

Unity 에서 UI 오브젝트를 생성하게 되면 Canvas와 생성한 오브젝트 EventSystem이 생성 됩니다. 캔버스는 UI Game Object들의 부모가 되는 프레임 화면입니다.

 

즉 모든 UI 오브젝트들을 위한 스크린 좌표계를 제공한다.

Canvas는 3D 상의 좌표가 아니고 유저의 게임 화면에 1:1 대응 된다. 기본 값으로는 캔버스의 1은 유니티 화면 1에 대응 된다. 무슨 의미인지는 아래 화면을 보자.

게임 화면의 해상도에 맞게 1:1 대응 되는 걸 알 수 있다. (해상도에 따라서 캔버스의 사이즈가 바뀐다.) 멀티 해상도 대응을 위해서 여러가지 Resolution테스트를 해보아야 한다. 

 

Canvas는 Render에 따라서 게임화면에서 다르게 보여질 수 있다.

 

총 3가지의 모드가 있다.

  • Screen Space - Overlay
  • Screen Space - Camera
  • World Space

Screen Space - Overlay

일반적은 게임상의 UI 라고 생각하면 된다. UI 요소들이 스크린 상에서만 존재하고 모든 3D Object들이 렌더링 되고 나서 마지막으로 UI 요소들을 위에 덮어쓰는 방식으로 렌더링 된다.

 

게임 오브젝트가 어떤 곳에 위치하여도 UI를 가릴 수 없게 된다.

Screen Space - Camera

해당 모드를 설정하면 3D 게임 좌표상에서 위치를 가지게 된다. 특정 카메라를 지정하게 되면 카메라로부터의 거리를 지정할 수 있다.

 

카메라의 Transform에 따라서 보이는 좌표가 변하며 좌표를 가질수 있기 때문에 다른 3D 오브젝트로 부터 가려질 수 있다.

 

보통 파티클 효과를 UI와 카메라 사이에 배치하여서 UI위에 Particle 효과를 그려질 수 있게 만들 수 있다.

World Space

해당 모드를 설정하면 카메라와 상관없이 UI Canvas가 3D 상의 Transform을 가진다. 게임상에서 3D 오브젝트 취급을 하기 때문에 마음대로 배치 및 회전을 할 수 있다.

 

World Space Mode를 이용할 경우 3D UI를 개발 할 수 있다. 3D 게임상의 위치를 가지기 때문에 특정한 물체나 바닥위에 UI를 만들 수 있게 된다.

EventSystem은?

게임 오브젝트 중에서 UI 게임오브젝트들이 터치나, 클릭 혹은 개발자가 직접 만든 이벤트를 감지 할 수 있도록 해주는 시스템이다. 나중에 사용 하게 될 때 다시 자세히 알아 보자.

 

그리드형(광고전용)

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band

댓글

Designed by JB FACTORY