티스토리 뷰

728x90

원문 링크

https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/class-Canvas.html

 

Canvas | Unity UI | 1.0.0

Canvas The Canvas component represents the abstract space in which the UI is laid out and rendered. All UI elements must be children of a GameObject that has a Canvas component attached. When you create a UI element object from the menu (GameObject > Creat

docs.unity3d.com

본문은 위의 링크 내용을 학습 및 영어 공부를 하기 위해 작성된 글입니다.

내용의 순서는 무작정 해석 -> 해석 후에도 모르겠거나 알게된 내용 설명 -> 기타의 순으로 진행됩니다.

해석 도중에 * 표시는 저의 궁금증을 표기하기 위해 남겨둔 것입니다.

이외 기타 궁금한 사항, 틀린 내용 그리고 잡다한 내용까지 언제든 댓글을 통해 남겨주세요.

 

 

Render 모드가 Screen Space - Overlay 일 때

 

Render 모드가 Screen Space - Camera 일 때

 

Render 모드가 World Space 일 때

 

Canvas

Canvas 컴포넌트는 UI가 배치되고 렌더링될 추상적인 공간을 나타낸다.

모든 UI 엘리먼트들은 Canvas 컴포넌트에 부착된 GameObject의 자식이여야한다.

메뉴에서 UI 엘리먼트 객체를 만들때, 만약 씬 안에 하나라도 없다면, Canvas 오브젝트는 자동적으로 생성될 것이다.

 

Properties

Property: Function:
Render Mode

UI가 스크린 혹은 3D 공간에서의 객체로써 렌더링되는 방법.

* 옵션은 Screen Space - Overlay, Screen Space - Camera and World Space가 있다.

Pixel Perfect
( Screen Space 모드에서만 존재 )
UI가 정밀도를 위해 Antialiasing 없이 렌더링 해야 하나요?

* Render Camera
( Screen Space - Camera 모드에서만 존재 )

UI를 렌더링할 카메라
Plane Distance
( Screen Space - Camera 모드에서만 존재)
UI 평면이 카메라 앞에 놓여질 거리

* Event Camera
( World Space 모드에서만 존재 )

UI 이벤트들을 처리하기 위해서 사용할 카메라
Receives Events UI 이벤트들이 Canvas에 의해 처리되나요?

 

Details

모든 UI 엘리멘트들은 위한 단일 Canvas는 sufficient 하다. 하지만 씬 안의 여러 개의 Canvas들은 가능하다.

또한 최적화 목적을 위해 한 캔버스가 또 다른 Canvas의 자식으로써 배치된 중첩된 Canvas가 가능하다.

중첩된 Canvas는 그것의 부모와 같은 Render 모드를 사용한다.

 

예전부터, UI는 직접 스크린 위에 그린 단순한 그래픽 디자인처럼 렌더링된다.

그것은 UI가 카메라에 의해 보이는 3D 공간의 개념이 없다는 것을 말한다.

Render Mode의 값에 따라서 유니티는 screen space 렌더링의 종류를 지원한다. 또한 UI들을 씬의 객체로써 렌더링 하는 것을 허용한다.

모드들은 Screen Space - Overlay, Screen Space - Camera 그리고 World Space이 있다.

 

 

Screen Space - Overlay

해당 모드에서는, Canvas는 스크린을 채워도록 조정된다. 그리고 씬 혹은 카메라의 참조 없이 바로 렌더링된다. ( 심지어 씬에 카메라가 없더라도 UI가 렌더링된다.)

만약 스크린의 사이즈 혹은 해상도가 변경된다면, UI는 자동적으로 맞게 재조정 될 것이다.

UI는 카메라 뷰처럼 다른 그래픽들과 그려질 것이다.

 

Note: Screen Space - Overlay canvas들은 hierarchy의 top level에 저장되는 것을 필요로 한다. 만약 이렇게 하지 않는다면 UI는 뷰로부터 사라질 수있다. 이것은 built-in 제한 사항이다. Screen Space - Overlay canva를 hierarchy의 top level에 기대하는 결과를 얻기 위해 유지해라

 

Screen Space - Camera

해당 모드에서는 Canvas가 마치 주어진 카메라 앞에 거리를 가진 평면 물체를 그리는 것처럼 렌더링 된다.

UI의 onscreeen 크기는 거리에 달라지지 않는다. 반면에 그것은 항상 정확하게 카메라 frustum에 맞게 재조정된다.

만약 스크린의 사이즈 혹은 해상도 혹은 카메라 frustum이 변경된다면 UI는 자동적으로 맞추기 위하여 재조정할 것이다.

카메라보다 UI 평면에 가까운 씬 내부에 어떤 3D 물체들은 UI 앞에 렌더링 될 것이다. 반면에 평면 뒤에 물체는 가려질 것이다.

 

World Space

해당 모드는 Screen Space - Camera 모드와 달리 UI를 씬 내부의 평면 물체처럼 렌더링한다.

그러나 평면은 카메라와 마주하는 것을 필요로 하지 않는다. 그리고 oriented 할 수 있다. 너가 원하는대로

Canvas의 사이즈는 Rect Transform을 사용함으로써 조정될 수 있다. 하지만 그것의 onscreen 크기는 viewing 각도와 카메라의 거리에 의존할 것이다. 다른 씬 객체들은 뒤에 있거나 통과하거나 캔버스 앞을 지나갈 수 있다.

 

Hints

1. Creating a World Space UI 페이지의 World Space Canves를 세팅하는 것에 관하여 더 읽어보세요.

2.  너의 다른 해상도 혹은 다른 비율의 Canvas와 UI 스케일을 만드는 것에 관한 정보를 위해서, Designing UI for Multiple Resolutions 페이지 그리고 Canvas Scaler 페이지를 확인해보세요.

 

 

 

새로운 단어

obscure

형용사

1. 잘 알려져 있지 않은, 무명의

2. 이해하기 힘든, 모호한

 

동사

1. 보기 어렵게 하다, 모호하게 하다.

 

vary

동사

1. (크기, 모양 등에서) 서로 다르다.

2. (상황에 따라) 달라지다.

3. (약간) 달리 하다.

 

resolution

1. 해상도

 

optimization

1. 최적화

 

 

궁금증

1. camera frustum 이란?

댓글
최근에 올라온 글
최근에 달린 댓글
링크