Post

GameObject와 GameComponent 관계
게임 내 모든 Object는 모두 GameObject이다. 하지만 안에 들은 내용물로 각각 다른 GameObject가 된다.
내용물이 바로 Component이다.
GameObjec가 컨테이너(빈상자)라고 생각하면 된다.

Canvas란?
Canvas Component를 가진 GameObject. 모든 UI요소의 부모요소.
Canvas가 없을 땐 어떤 UI를 생성하든 같이 생성된다.

UI 렌더 순서
하이어라키 뷰에 나열된 순서대로(위에서 아래로) 랜더됨.
렌더 순서 함수
// obj가 현재 위치한 계층에서 가장 먼저 렌더링 되도록한다(가장 안쪽)
obj.transform.SetAsFitstSibling();
// obj가 현재 위치한 계층에서 가장 나중에 렌더링되도록 한다(가장 위에)
obj.transform.SetAsLastSibling();
// obj를 현재 위치한 계층에서 3번째 요소가 되는 위치에 놓는다(안쪽에서부터 3번째 렌더링)
obj.transform.SetSiblingIndex(3);

캔버스의 렌더링 모드와 속성
총 3가지 렌더링 속성
*Sceen Space - Overlay
캔버스가 씬 내부 어느곳에 있어도 화면 전체를 덮는 모습.
화면의 크기나 해상도가 변경되면 그에 맞춰서 캔버스의 크기도 자동 변환

*Sceen Space - Camera
카메라 Projection 속성에 따라 다르게 렌더
Perspective라면 원근감 있게 렌더(원근감의 정도는 Field of View속성에 따라 달라짐)

*World Space
캔버스의 소팅 레이어 순서에 따라 렌더됨.

Canvas Scaler 컴포넌트
Canvas에 추가된 컴포넌트.
Canvas안에 있는 UI 전체 요소 의 스케일과 픽셀 밀도를 제어
폰트크기. 이미지..
UI Scale Mode
*Constant Pixel Size
UI 요소의 위치나 크기가 화면상의 픽셀 단위에 의해 설정됨.

*Scale With Screen Size
지정된 참조 해상도에 따라 달라짐
=> 보통은 이걸로 기기해상도를 맞춘다.
너비나 높이를 기준으로 맞추기 때문에 화면이 잘리지 않는다.
참조 해상도는  x 960 y 630
ScreenMatchMode는 0(Width 기준) 으로 하였다.



*Constant Physical Size

화면 해상도와 참조 해상도의 가로세로 비율이 다를 때 캔버스를 스케일하는 방법 설정.


▲ top