공부/Unity

[unity]Canvas - Render Mode 차이

개발의 피 2023. 3. 29. 22:21

* 알고 있던 것 : World Space로 변경하면, 캔버스가 좌표값을 기준이 된다 (월드 포지션 좌표 이용 가능해짐) 

자식은 부모 캔버스의 모드를 똑같이 따른다

 

* 헷갈렸던 것 : 나머지 두 렌더 모드의 차이 

- Overlay : (캔버스가 씬 내부의 어느 곳에 있더라도) 화면 전체를 덮음, 화면 크기/해상도 변경 -> 캔버스 크기도 자동으로 변경

- Camera : 말그대로 지정된 카메라와 일정한 거리만큼 떨어짐, 카메라가 어떻게 설정(원근감 등)돼 있는지에 따라 달라짐!   

 

* 몰랐던 사실

Sorting Layer는 Overlay에서 사용 x (Sort Order만 가능)

World Space = 게임 오브젝트랑 동일한 자격으로 취급 -> 씬의 일부로 다룰 때 이용

렌더 모드가 세 종류인 것은 알았는데, 크게 screen space / world space고 screen space 안에 overlay, camera가 포함이라는 사실

* 잘 이해되지 않는 부분 (before, after 이미지 차이를 못 느끼겠다...) 

Screen Space(Overlay, Camera) - Pixel Perfect 

책 내용 : Pixel Perfect 속성을 ON으로 지정하면 캔버스에 있는 UI 요소를 픽셀의 색 그대로 표현하도록 렌더링합니다. 이 속성을 ON으로 지정하면 픽셀에 맞지 않는 위치에 배치하더라도 희미하지 않고 명확하게 표현할 수 있습니다. 대부분의 UI 요소가 스케일, 회전, 애니메이션 등에서 미세한 위치나 배율을 사용할 가능성이 큰데, 여기서 기기의 퍼포먼스를 높여야 할 때는 Pixel Perfect 속성을 OFF로 지정해두는 것도 좋을 것입니다. 

-> 검색해봤는데 요소가 선명하게 표시 + 블러 방지가 끝인가보다,,, 이런 기능도 있구나~하고 넘어가기! 

 

세 가지 렌더 모드를 각각 적용한 캔버스들을 전부 배치해봤다. 

World Space, Camera는 캔버스의 크기가 같고 Overlay는 다른 건 직접 배치해보지 않으면 몰랐을 사실... 

 


https://docs.unity3d.com/kr/2022.1/Manual/UICanvas.html

 

캔버스 - Unity 매뉴얼

모든 UI 요소는 Canvas 안에 위치해야 합니다. 캔버스는 Canvas 컴포넌트가 있는 게임 오브젝트이며 모든 UI 요소는 반드시 어떤 캔버스의 자식이어야 합니다.

docs.unity3d.com