Version: 2019.4
두 개 이상의 카메라 사용
카메라 트릭

물리적 카메라 사용

Camera 컴포넌트의 Physical Camera 프로퍼티는 Unity 카메라에서 실제 카메라 포맷을 시뮬레이션합니다. Unity 카메라와 마찬가지로 실제 카메라를 모방하는 3D 모델링 애플리케이션에서 카메라 정보를 임포트할 때 유용합니다.

Unity는 대다수 3D 모델링 애플리케이션의 물리적 카메라 설정과 동일한 설정을 제공합니다. 카메라의 시야에 포함되는 요소를 결정하는 주요 프로퍼티 2개는 Focal LengthSenior Size입니다.

  • Focal Length: 센서와 카메라 렌즈 간의 거리로, 수직 시야각(FOV)을 결정합니다. Unity 카메라가 Physical Camera 모드로 설정된 경우, Focal Length를 변경하면 이에 따라 시야각(FOV)도 변경됩니다. 포커스 길이가 짧을수록 시야각이 넓어지며, 반대의 경우도 성립합니다.

    카메라의 포커스 길이, 시야각(FOV)과 센서 크기의 관계
    카메라의 포커스 길이, 시야각(FOV)과 센서 크기의 관계
  • Sensor Size: 이미지를 캡처하는 센서의 너비와 높이로, 물리적 카메라의 종횡비를 결정합니다. 실제 카메라 포맷에 상응하는 다양한 프리셋 센서 크기 중에서 선택하거나, 커스텀 크기를 설정할 수 있습니다. 센서의 종횡비가 게임 뷰에 설정된 렌더링 종횡비와 다른 경우, Unity가 카메라 이미지를 렌더링된 이미지에 맞추는 방식을 제어할 수 있습니다. 자세한 내용은 아래의 Gate Fit을 참조하십시오.

렌즈 시프트

Lens Shift는 카메라의 렌즈를 센서로부터 수평 및 수직으로 오프셋합니다. 이를 통해 초점의 중심을 변경하고 렌더링된 프레임 내 피사체의 위치를 (거의) 왜곡 없이 변경할 수 있습니다.

이 기술은 건축 사진 분야에서 자주 사용됩니다. 예를 들어 높은 빌딩을 캡처하려면 카메라를 회전하면 되지만, 이 경우 이미지가 왜곡되어 평행선이 모이는 것처럼 보이게 됩니다.

건물의 윗부분을 캡처하기 위해 카메라를 회전하면 수직선이 모이는 것처럼 보입니다.
건물의 윗부분을 캡처하기 위해 카메라를 회전하면 수직선이 모이는 것처럼 보입니다.

카메라를 회전하는 대신 렌즈를 움직이면 이미지 합성을 변경하여 건물의 윗부분을 포함하면서도 평행선의 평행이 완벽하게 유지된 모습을 포착할 수 있습니다.

Y축을 따라 렌즈를 움직이면 초점의 중심을 이동하는 동시에 수직선이 곧게 뻗은 모습을 포착할 수 있습니다.
Y축을 따라 렌즈를 움직이면 초점의 중심을 이동하는 동시에 수직선이 곧게 뻗은 모습을 포착할 수 있습니다.

마찬가지로 수평 렌즈 이동을 사용하여 카메라 회전 시 발생하는 왜곡 없이 넓은 오브젝트를 캡처할 수도 있습니다.

빌딩을 프레임 안에 들어오게 하기 위해 카메라를 회전(위)하면 수평선이 모이는 것처럼 보이게 됩니다. 하지만 렌즈를 수평으로 이동(아래)하면 이미지가 재구성되면서도 수평선이 곧게 뻗은 모습으로 유지됩니다.
빌딩을 프레임 안에 들어오게 하기 위해 카메라를 회전(위)하면 수평선이 모이는 것처럼 보이게 됩니다. 하지만 렌즈를 수평으로 이동(아래)하면 이미지가 재구성되면서도 수평선이 곧게 뻗은 모습으로 유지됩니다.

렌즈 시프트와 절두체 경사

렌즈 시프트의 부작용은 카메라의 뷰 절두체가 사선으로 보인다는 점입니다. 즉, 카메라의 중심선과 절두체 사이의 각도가 한쪽이 다른 쪽보다 작아집니다.

위 이미지는 각각 Y축 렌즈 시프트 전(왼쪽)과 후(오른쪽)의 카메라 절두체를 나타냅니다. 렌즈를 위쪽으로 이동하면 절두체가 사선으로 보입니다.
위 이미지는 각각 Y축 렌즈 시프트 전(왼쪽)과 후(오른쪽)의 카메라 절두체를 나타냅니다. 렌즈를 위쪽으로 이동하면 절두체가 사선으로 보입니다.

이를 통해 원근에 기반한 시각 효과를 구현할 수 있습니다. 예를 들어 원근을 지면 가까이에 유지하는 것이 좋은 레이싱 게임에서는 렌즈 시프트를 통해 스크립팅 없이도 사선 절두체를 구현할 수 있습니다.

자세한 내용은 사선 절두체 사용에 관한 문서를 참조하십시오.

Gate Fit

Camera 컴포넌트의 Gate Fit 프로퍼티는 게임 뷰와 물리적 카메라 센서의 종횡비가 다르면 어떤 현상이 발생하는지 정합니다.

Physical Camera 모드에서는 카메라에 “게이트”가 두 개 있습니다.

  • Aspect 드롭다운 메뉴에서 설정한 해상도에 따라 게임 뷰에 렌더링된 영역은 “해상도 게이트”라고 합니다.

  • Sensor Size 프로퍼티에 의해 정의된 대로 카메라의 시야에 포함된 영역은 “필름 게이트”라고 합니다.

해상도 게이트와 필름 게이트의 종횡비가 서로 다른 경우 두 게이트의 비교 예시
해상도 게이트와 필름 게이트의 종횡비가 서로 다른 경우 두 게이트의 비교 예시

두 게이트의 종횡비가 서로 다른 경우, Unity는 해상도 게이트를 필름 게이트에 “맞춥니다”. 몇 가지 맞추기 모드가 지원되며 이러한 모드는 다음 세 가지 결과 중 하나를 도출합니다.

  • Cropping: 맞추기 후 필름 게이트가 해상도 게이트를 초과하면 게임 뷰는 종횡비에 최대한 포함되는 만큼 카메라 이미지를 렌더링하고 나머지는 잘라냅니다.
  • Overscanning: 맞추기 후 필름 게이트가 해상도 게이트를 초과하면 게임 뷰는 카메라의 시야각(FOV)을 벗어나는 씬의 부분에 대해 계속 렌더링 계산을 수행합니다.
  • Stretching: 게임 뷰가 카메라 이미지를 게임 뷰의 종횡비에 맞춰 가로 또는 세로로 늘려서 카메라 이미지 전체를 렌더링합니다.

씬 뷰에서 게이트를 살펴보고 두 게이트가 서로 잘 맞는지 확인하려면 카메라를 선택하고 뷰 절두체를 보십시오. 해상도 게이트는 카메라의 원거리 클리핑 평면이며, 필름 게이트는 절두체 하단의 두 번째 직사각형입니다.

위 예시에서는 카메라의 뷰 절두체 하단에 있는 바깥쪽 직사각형(A)이 해상도 게이트이며, 안쪽 직사각형(B)은 필름 게이트입니다.
위 예시에서는 카메라의 뷰 절두체 하단에 있는 바깥쪽 직사각형(A)이 해상도 게이트이며, 안쪽 직사각형(B)은 필름 게이트입니다.

Gate Fit 모드

선택한 Gate Fit 모드에 따라 Unity가 해상도 게이트의 크기를 조절하는 방식 및 궁극적으로는 카메라의 뷰 절두체가 달라집니다. 필름 게이트는 항상 같은 크기를 유지합니다.

다음 섹션에서 각 Gate Fit 모드에 대해 자세히 알아보십시오.

Vertical

Gate FitVertical로 설정되면 Unity는 해상도 게이트를 필름 게이트의 높이(Y축)에 맞춥니다. 센서 너비를 변경하더라도(Sensor Size > X) 렌더링된 이미지에는 영향을 주지 않습니다.

센서의 종횡비가 게임 뷰의 종횡비보다 큰 경우 Unity는 렌더링된 이미지의 양쪽을 자릅니다.

Gate Fit이 Vertical로 설정됨: 해상도 게이트 종횡비는 0.66:1(600 x 900px), 필름 게이트 종횡비는 1.37:1(16mm)입니다. 빨간색 영역은 Unity가 게임 뷰에서 자르는 이미지 부분을 나타냅니다.
Gate FitVertical로 설정됨: 해상도 게이트 종횡비는 0.66:1(600 x 900px), 필름 게이트 종횡비는 1.37:1(16mm)입니다. 빨간색 영역은 Unity가 게임 뷰에서 자르는 이미지 부분을 나타냅니다.

센서의 종횡비가 게임 뷰의 종횡비보다 작은 경우 Unity는 렌더링된 이미지의 양쪽을 오버스캔합니다.

Gate Fit이 Vertical로 설정됨: 해상도 게이트 종횡비는 16:9, 필름 게이트 종횡비는 1.37:1(16mm)입니다. 초록색 영역은 Unity가 게임 뷰에서 오버스캔하는 이미지 부분을 나타냅니다.
Gate FitVertical로 설정됨: 해상도 게이트 종횡비는 16:9, 필름 게이트 종횡비는 1.37:1(16mm)입니다. 초록색 영역은 Unity가 게임 뷰에서 오버스캔하는 이미지 부분을 나타냅니다.

Horizontal

Gate FitHorizontal로 설정되면 Unity는 해상도 게이트를 필름 게이트의 너비(X축)에 맞춥니다. 센서 높이를 변경하더라도(Sensor Size > Y) 렌더링된 이미지에는 영향을 주지 않습니다.

센서의 종횡비가 게임 뷰의 종횡비보다 큰 경우 Unity는 렌더링된 이미지의 상단과 하단을 오버스캔합니다.

Gate Fit이 Horizontal로 설정됨: 해상도 게이트 종횡비는 0.66:1(600 x 900px), 필름 게이트 종횡비는 1.37:1(16mm)입니다. 초록색 영역은 Unity가 게임 뷰에서 오버스캔하는 이미지 부분을 나타냅니다.
Gate FitHorizontal로 설정됨: 해상도 게이트 종횡비는 0.66:1(600 x 900px), 필름 게이트 종횡비는 1.37:1(16mm)입니다. 초록색 영역은 Unity가 게임 뷰에서 오버스캔하는 이미지 부분을 나타냅니다.

센서의 종횡비가 게임 뷰의 종횡비보다 작은 경우, 렌더링된 이미지의 상단과 하단이 잘립니다.

Gate Fit set to Horizontal: Resolution gate aspect ratio is 16:9. Film gate aspect ratio is 1.37:1 (16mm). The red areas indicate where Unity crops the image in the Game view.
Gate Fit set to Horizontal: Resolution gate aspect ratio is 16:9. Film gate aspect ratio is 1.37:1 (16mm). The red areas indicate where Unity crops the image in the Game view.

None

Gate Fit이 None으로 설정되면 Unity는 해상도 게이트를 필름 게이트의 너비와 높이(X축과 Y축)에 맞춥니다. Unity는 렌더링된 이미지를 늘려 게임 뷰 종횡비에 맞춥니다.

Gate Fit 없음. 카메라는 필름 게이트의 종횡비인 1.37:1(16mm)을 적용하여 이미지의 가로를 게임 뷰 종횡비인 16:9(왼쪽)에 맞춰 늘리고, 이미지의 세로는 게임 뷰 종횡비인 0.66:1(오른쪽)에 맞춰 늘립니다.
Gate Fit 없음. 카메라는 필름 게이트의 종횡비인 1.37:1(16mm)을 적용하여 이미지의 가로를 게임 뷰 종횡비인 16:9(왼쪽)에 맞춰 늘리고, 이미지의 세로는 게임 뷰 종횡비인 0.66:1(오른쪽)에 맞춰 늘립니다.

Fill 및 Overscan

Gate FitFill 또는 Overscan으로 설정되면 Unity는 해상도 게이트와 필름 게이트의 종횡비에 따라 자동으로 세로 또는 가로 맞추기를 수행합니다.

  • Fill을 설정하면 해상도 게이트를 필름 게이트의 더 작은 축에 맞추며, 카메라 이미지의 나머지 부분은 잘립니다.
  • Overscan을 설정하면 해상도 게이트를 필름 게이트의 더 큰 축에 맞추며 카메라 이미지의 경계를 벗어난 영역은 오버스캔합니다.

  • 2018–10–05 페이지 수정됨

  • [2018.2]에서 물리적 카메라 옵션 추가됨 (https://docs.unity3d.com/2018.2/Documentation/Manual/30_search.html?q=newin20182) NewIn20182

  • Unity 2018.3에서 Gate Fit 옵션 추가됨

두 개 이상의 카메라 사용
카메라 트릭