Version: 2020.3
언어: 한국어
커스텀 렌더 파이프라인에서 단순한 렌더 루프 생성
두 개 이상의 카메라 사용

카메라

Unity 씬은 3차원 공간의 게임 오브젝트를 나타냅니다. 뷰어의 화면은 2차원이므로 Unity는 표시를 위해 뷰를 캡처한 후 “평평하게” 만들어야 합니다. 작업에는 카메라가 사용됩니다. Unity에서는 게임 오브젝트에 Camera 컴포넌트를 추가하여 카메라를 만듭니다.

카메라의 가시 영역 정의

카메라의 가시 영역은 해당 트랜스폼과 Camera 컴포넌트에 의해 정의됩니다. 트랜스폼 포지션은 시점을 정의하고, 전방(Z) 축은 뷰 방향을 정의하고, 위쪽(Y) 축은 화면의 상단 부분을 정의합니다. Camera 컴포넌트 설정은 뷰 안에 들어가는 영역의 크기와 형태를 정의합니다. 파라미터를 설정하면 카메라가 현재 화면에서 “보는” 것을 디스플레이합니다. 게임 오브젝트가 움직이고 회전하기 때문에 디스플레이된 뷰 역시 그에 따라 움직이고 회전합니다.

원근 카메라와 직교 카메라

같은 씬을 원근법 모드(왼쪽)와 직교 모드(오른쪽)로 나타낸 모습
같은 씬을 원근법 모드(왼쪽)와 직교 모드(오른쪽)로 나타낸 모습

현실 세계의 카메라는 인간의 눈과 같이 멀리 떨어져 있는 물체를 더 작게 보이는 관점으로 월드를 바라봅니다. 원근 효과는 예술과 컴퓨터 그래픽스에 널리 사용되며 현실적인 씬을 만드는데 중요한 역할을 합니다. 그러므로 Unity 역시 원근 카메라를 지원하지만 목적에 따라 효과를 사용하지 않고 뷰를 렌더링하는 경우가 있습니다. 예를 들어, 실제 월드의 오브젝트와 같아서는 안되는 지도나 정보 디스플레이를 만들 경우입니다. 거리에 따라 오브젝트의 크기를 줄이지 않는 카메라를 직교 라 부르며 Unity 카메라 역시 직교 옵션이 있습니다. 씬을 볼 수 있는 원근과 직교 모드를 카메라 투영 이라고 합니다. (위의 씬은 BITGEM)

보이는 영역의 형태

원근과 직교 카메라 모두 현재 포지션에서 얼마나 “볼 수” 있는지 한계가 있습니다. 그 한계는 카메라의 전방 (Z)과 수직을 이루는 평면에 의해 정의됩니다. 이것은 카메라로부터 멀리 떨어진 오브젝트가 “클리핑”(즉, 렌더링으로부터 제외되어)되기 때문에 장거리 클립 평면 이라 부릅니다. 또한 이에 반대인 카메라가 가까울 때 나타나는 근접 클립 평면 이 있습니다. 두 평면 사이의 거리만을 가시적으로 볼 수 있습니다.

원근을 사용하지 않는다면 오브젝트가 거리에 상관 없이 같은 크기로 보입니다. 이 뜻은 직교 카메라의 뷰 영역은 두 클립 평면 사이에서 직사각형 박스가 늘어나는 형태로 나타난다는 뜻입니다.

원근법이 사용되면 오브젝트는 카메라로부터 거리가 증가하면 점점 작아집니다. 이는 씬의 볼 수 있는 부분의 폭과 높이가 거리가 멀어짐에 따라 늘어난다는 뜻입니다. 그렇게 때문에 원근 카메라의 뷰 영역은 박스가 아니라 카메라 포지션에 꼭지점이 달리고 지지대가 장거리 클립 평면에 위치한 피라미드 형태가 됩니다. 그러나 완벽한 피라미드 형태라고 할 수 없는데 윗 부분은 근접 클립 평면에 의해 잘려나가기 때문입니다. 끝이 잘려나간 피라미드 형태를 절두체 라고 합니다. 높이가 일정하지 않기 때문에 절두체는 폭과 높이의 비율(종횡비) 그리고 꼭지점 위와 아래 사이의 각도(FOV 또는 시야각)로 정의됩니다. 자세한 설명은 절두체 뷰의 이해 페이지를 참조하십시오.

카메라 뷰의 배경

카메라가 씬을 렌더링하기 전의 카메라 가시 영역, 즉 오브젝트 사이의 빈 영역에 보이는 배경을 설정할 수 있습니다.

예를 들어 위에 씬을 렌더링하기 전에 단색으로 배경을 채우거나, 하늘 또는 원거리 배경을 그리거나, 또는 이전 프레임의 콘텐츠를 그대로 남겨둘 수 있습니다. 이러한 설정에 대한 자세한 내용은 카메라 인스펙터 레퍼런스Background 프로퍼티를 참조하십시오. 하늘 그리기에 대한 자세한 내용은 하늘을 참조하십시오.

커스텀 렌더 파이프라인에서 단순한 렌더 루프 생성
두 개 이상의 카메라 사용