[Unity3D] Canvas
캔버스 객체가 가진 컴포넌트
- Rect Transform.
- Canvas.
- Canvas Scaler.
- Graphic Raycaster.
이렇게 4개로 구성된 컴포넌트를 가지고 있다.
기존 GameObject와는 다르게 UI항목은 반드시 Rect Transform 컴포넌트를 가지고 있다.
※ Rect Transform
- 앵커 (Anchors)
- 피봇 (Pivot)
- 크기 (Width, Height)
- 위치 (PosX, PosY, PosZ)
간단히 생각해서 Rect Transform은 UI전용 Transform이라고 생각하면 된다.
Canvas 객체의 Rect Transform속성은 직접 수정할 수 없으며, 화면의 크기에 따라 자동으로 설정된다.
Canvas Component
Canvas 컴포넌트는 UI항목을 화면에 배치하고 렌더링하는 역할을 한다.
Render Mode 옵션에 따라 UI항목의 화면 배치 방식을 다음과 같이 결정할 수 있다.
1). Screen Space - Overlay
가장 일반적인 옵션이고 기본 설정값으로 UI항목은 씬의 가장 상위 계층에서 표현되며, 화면의 해상도에 맞춰
자동으로 스케일이 조절된다.
1920 x 1080
Free Aspect
2). Screen Space - Camera
씬의 가장 상위에 UI 항목이 표시되는것은 'Screen Space - Overaly'와 동일하지만,
UI항목을 렌더링 하는 별도의 카메라를 설정할 수 있다.
즉, 씬 전체를 비추는 Main Camera와 별도로 UI만을 위한 카메라로 이원화할 경우에 사용된다.
Render Mode 속성을 Screen Space - Camera로 변경하면 카메라를 연결할 수 있는 Render Camera 속성이 노출된다.
※ UI 항목을 렌더링 하기 위해 추가한 카메라는 기존의 Main Camera와 충돌이 없도록 반드시
Clear Flag, Culling Mask, Depth 속성을 적절히 설정해야 한다.
3). World Space
이 옵션은 씬 내에 있는 다른 게임오브젝트에 직접 UI 항목을 추가한다.
대표적인 사용례는 HUD(Head Up Display)를 구현할 때다.
특정 게임오브젝트에 Canvas 객체를 추가하고 Render Mode를 World Space로 설정하면 해당 Canvas는
Rect Transform의 영향을 받지 않게 되며, 해당 오브젝트의 위치에 영향을 받게 된다.
'Unity3D > Tip' 카테고리의 다른 글
[Unity3D] EventSystem (1) | 2017.05.03 |
---|---|
[Unity3D] 유니티 스플래시 스크린(로고 삽입) (0) | 2017.05.02 |
[Unity3D] 델리게이트 (Delegate) (0) | 2017.04.29 |
[Unity3D] 메카님으로 설정된 3D모델 최적화. (0) | 2017.04.29 |
[Unity3D] Shadow - 그림자 생성. (0) | 2017.04.27 |