[Unity] 유니티 3D 렌더링 파이프라인과 카메라 뷰 설정

728x90

Unity 3D Rendering PipeLine

유니티 3D 공간 상에서 오브젝트를 그리는 전체 프로세스를 3D Rendering Pipeline이라고 부른다. 

렌더링 파이프라인에서 가장 시작이 되는 프로세스는 카메라인데 카메라는 좌표에 따라 Local(model) - Global(World)로 나뉘고 Camera(View)로 시점을 나타낸다.

카메라 관련 프로퍼티

카메라를 사용해 3D 공간을 표현할 때 다음과 같은 중요한 프로퍼티들을 사용하고 있다.

시야 절두체(view frustum) 시야 밖에 있는 오브젝트는 삭제해서 그림
시야각(Field of View) 시야 절두체를 제외한 시야 범위
Clipping planes 시야 절두체를 벗어나는 부분을 자르고 그릴 범위(Near / Far)
투영(projection) 스크린에 보여줄 때 원근으로 할지, 직선으로 보여줄지를 설정

View frustum 프로퍼티를 사용해 Camera View에 보이지 않는 오브젝트들을 삭제하고 Field of View 안에만 위치한 오브젝트만 취급함으로서 최적화를 달성할 수 있다. 

그리고 Clipping planes는 Near clip planes와 Far clip planes 프로퍼티를 가지고 있다. 렌더링을 시작 및 중지하기 위한 카메라부터의 거리를 나타내는 값인데, 쉽게 말해 내 눈에서 눈썹이 안보이는 것과 같은 기능을 Near 값을 조정해 표현해 줄 수 있다. 

 

2분할 카메라 설정을 통한 2D게임 제작 방법

카메라에 있는 프로퍼티를 이용하면 화면을 2분할한 것과 같은 연출을 구현해 낼 수 있다. 먼저 2d 콘텐츠에 적합하게 기본적인 camera 세팅은 projection의 orthographic을 projection으로 변경하는 것이다. 그리고 씬 뷰를 렌더링하는 Viewport Rect 값을 0~1(percent 단위) 사이로 미세하게 조정해주면 된다.  이를 2분할 카메라 시점으로 응용해보면 씬 뷰에서 카메라를 2개를 생성하고, Viewport Rect 값을 각각 다음과 같이 조정해 주면 2개의 화면이 나오는 스크린을 구현할 수 있다.

 

728x90