캔버스

Canvas는 모든 ui 요소를 배치하기 위한 영역입니다

Canvas는 요소와 함꼐 사용하는 게임 오브젝트로 모든 ui 요소는 Canvas의 자식요소 여야 합니다

새 ui 요소를 작성하는 경우 image 매뉴의 GameObject > UI > Image를 사용하며 생성시 canvas가 생성 이 안되 있어도

자동으로 canvas를 생성 합니다 그뒤 작성되는 ui요소는 이 canvas의 자식요소로 작성됩니다.



요소의 그리기순서

canvas의 ui 요소는 계층 구조에 나타나는 순서와 동일한 순서로 그려집니다.

 -두개의 UI 요소가 겹치는 경우, 나중에 그려진 ui 요소에 표시 된다.

다른 요소에 표시된 요소를 변경 할려면 계층 구조에서 해당 요소를 드래그하여 쉽게 정렬 할수 있다.

스크립트 상에서 Transform 컴포넌트 SetASFirstSibling.SetAsLastSibling, SetSiblingIndex를 사용하여 그리기

 순서를 제어할 수 있습니다.


렌더링 모드
canvas는 스크린공간(screen Space) 또는 월드 공간(World Space)에서 렌더링을 설정하는 렌더 모드를 가지고 있습니다
Screen Space - Overlay
​씬에 렌더링된 UI 요소를 화면에 배치 합니다.
화면의 크기와 해상도가 변경된 경우 canvas는 스크린에 일치하도록 크기를 자동으로 변경합니다.

Screen Space - Camera
Canvas는 지정된 거리의 Camera앞에 배치되고 UI는 카메라에 의해 그려집니다.
카메라의 설정을 변경 하는 것은 UI요소의 모양에 영향을 줍니다.
화면 크기와 해상도 변경, 카메라의 frustrum를 변경시 Canvas도 자동으로 크기가 변경됩니다

World Space
씬에서 Canvas를 다른 오브젝트처럼 작동 시킵니다.
UI요소는 3D의 배치에 따라 다른 오브젝트의 앞면 , 뒷면에 그려집니다
Canvas의 크기는 Rect Transform를 이용해 수동으로 설정할 수 있다.


기본적인 레이아웃
Rect Tool에 대하여
​Rect Tool 을 이용하면 주변의 UI요소를 이동시키고 크기를 변경하고 회전하는들의 일을 모두 할수 있습니다.
UI를 조작할 떄 평소에는 Pivot과 Local을 설정하면 됩니다

Rect Transform
Rect Transform 은 일반적인 Tranform컴포넌트 대신 UI요소에 사용되는 새로운 트랜스폼 컴포넌트.
일반적인 Transform과 같이 위치(position), 회전(rotation), 스케일(scale)을 가지고 있고 사각형의 치수를 결정
하기 위해 폭(width)과높이(hight)도 가지고 있씁니다.

리사이징 vs 스케일링
Rect Tool이 오브젝트의 크기 변경에 사용되는 경우
2D시스템의 Sprite와 3D 오브 젝트를 위해 일반적으로 로컬 Scale을 변경 한다.
Rect Transform 컴포넌트가 연결된 오브젝트의 경우
로컬 scale은 변경 하지 않은채 width와 height 를 변경한다 


피벗(Pivot)
피벗의 위치는 회전(rotation), 크기(size), 스케일(scale) 의 결과에 영향을 준다.
Pivot 버튼이 Pivot 모드로 설정되어 있을시 Rect Transform피벗은  Scen에서 이동 가능 합니다


앵커(anchor)
Rect Transform에는 anchor 라는 레이아웃 개념이 있습니다.
앵커의 정보는 인스펙터에 표시 된다.
Rect Transform의 부모도 Rect Tranform 이면 자식의 Rect Transform은 다양한 방법으로 부모의 Rect Transform에 고정 될수 있습니다.
자식은 부모의 중심, 모서리에 배치될수있다.

고정(anchoring)은 부모dml width 또는 height 함꼐 자식을 동시에 늘리는것을 허용한다.
사각형의 모서리는 고정 오프셋을 가지고 있씁니다
앵커의 위치는 끝이나 중간에 제한되는 것은 아닙니다.
앵커는 부모의 어떠한 지점에도 고정할수 있습니다.

앵커 프리셋
UI요소를 부모의 가장자리 또는 중간에 고정하거나 부모의 크기에 따라 늘릴 수 있습니다.
수평및 수직은 별도로 설정입니다
수평 수직 축에서 앵커가 프리셋 중 하나와 다른위치에 설정 되어 있는 경우 사용자 지정 옵션이 표시 됩니다.

인스펙터에서의 앵커와 위치의 장소
앵커 번호 필드가 표시 되어 있지 않은경우는 Anchor 확장 화살표를 클릭 하여 표시 할수 있습니다.
앵커와 피벗 값을 다른 값이 변경된 결과 이외의 것으로 변경 할 수 있게됩니다. 위치와 크기가 앵커와 피벗 값으로부터

독립하기 위해 사각형을 시각적으로 이동하거나 크기를 조정 할수 있다.


Posted by 테루키스
: