Unity 카메라 활용하기 - 2019.3
Tutorial
·
Beginner
·
+10XP
·
15 mins
·
(73)
Unity Technologies

시네머신 애드온 외에도 Unity는 다양한 카메라 옵션을 제공합니다. 레트로 게임을 표현하기에 적합한 직교 카메라, 클래식 3D 게임 및 가상 공간 제작에 적합한 원근 카메라, 필름 카메라처럼 작동하는 물리적 카메라가 있는데, 이 물리적 카메라의 경우 실사 영상 같은 느낌이나 인디 영화 또는 대규모 예산을 들인 블록버스터 영화 같은 느낌을 줄 수 있습니다.
이 튜토리얼에서는 이와 같은 옵션을 살펴보고 특정한 목적에 맞는 카메라 유형을 생성합니다.
Languages available:
1. 소개
Unity 2019.2 이전 버전에 해당하는 내용은 여기를 참고하세요.
시네머신 애드온 외에도 Unity는 다양한 카메라 옵션을 제공합니다. 레트로 게임을 표현하기에 적합한 직교 카메라, 클래식 3D 게임 및 가상 공간 제작에 적합한 원근 카메라, 필름 카메라처럼 작동하는 물리적 카메라가 있는데, 이 물리적 카메라의 경우 실사 영상 같은 느낌이나 인디 영화 또는 대규모 예산을 들인 블록버스터 영화 같은 느낌을 줄 수 있습니다.
2. 카메라 생성
카메라를 생성하려면 GameObject 드롭다운에서 Camera를 선택합니다. 그런 다음 카메라의 인스펙터(Inspector)를 사용하여 카메라 유형과 옵션을 설정합니다.
3. 카메라 이동
카메라는 일반적인 인스펙터 툴을 통해 이동할 수 있습니다. 2D 공간에서나 3D 공간에서 모두 카메라를 직접 움직여 보다 직관적으로 씬(Scene) 뷰에 맞게 조정할 수 있습니다. 씬 뷰에서 이동하려면 마우스 가운데 버튼을 누른 상태로 드래그하여 씬 뷰 카메라를 회전하지 않고 움직입니다. ALT 키를 누른 상태에서 마우스 오른쪽 버튼을 누르면 씬에서 돌리 인/아웃할 수 있으며, ALT 키를 누른 상태에서 마우스 왼쪽 버튼을 누르면 씬 뷰 카메라를 옮기지 않고도 이동하거나 기울일 수 있습니다.
카메라를 씬 뷰에 맞춰 정렬하려면 계층 구조(Hierarchy) 뷰에서 카메라를 선택하고 GameObject 드롭다운 메뉴에서 "Align With View"를 선택합니다.
카메라를 씬 뷰로 옮기려면 GameObject 드롭다운에서 Move to View를 선택합니다.
카메라를 씬 뷰에 맞춰 정렬하려면 계층 구조에서 카메라를 선택하고 GameObject 드롭다운에서 Align with View를 선택합니다.
카메라의 렌즈가 보통 필름/센서 평면상의 중앙에 위치하듯 모든 카메라는 프레임 중앙에 위치합니다. 모든 카메라에는 근거리 및 원거리 클리핑 평면도 적용되어 있으며, 근거리 클리핑 평면보다 가깝거나 원거리 클리핑 평면보다 멀리 있는 오브젝트는 렌더링되지 않습니다.
4. 직교 카메라
직교 카메라(그림 01 및 02)는 원근법이나 단축법을 사용하지 않습니다. 직교 카메라에 보이는 오브젝트는 항상 같은 크기로 표시됩니다. 높이가 2단위인 오브젝트와 1단위인 오브젝트가 있을 때, 둘 사이의 거리 및 카메라와의 거리와 관계없이 두 오브젝트의 높이는 두 배 차이가 납니다. 또한 평행선과 가장자리는 평행을 유지합니다.
직교 카메라의 크기에 따라 카메라와 화면의 상단 또는 하단 사이에 수직으로 들어갈 수 있는 Unity 단위 수가 지정됩니다. 이는 2D 프로젝트에서 스프라이트의 단위당 픽셀 설정과 직접적으로 연관됩니다. 예를 들어 2D 프로젝트에서 스프라이트는 단위당 16픽셀 높이로 만들어져 있는데, 이 스프라이트를 스크린에 수직으로 12개 배치해야 한다고 가정해 보겠습니다. 이 경우 카메라의 직교 크기는 6으로 설정해야 합니다. 직교 카메라는 2D 프로젝트에서 가장 많이 사용되지만, 3D에서 원근 왜곡을 피하기 위해 사용할 수도 있습니다.

그림 01: 직교 카메라 설정

그림 02: 1단위 큐브 5개가 각각 X축 및 Z축 기준 2단위씩 떨어진 상태를 직교 카메라로 본 모습
5. 직교 카메라 생성
이 시나리오에서는 HD/4K+ 해상도에서도 깔끔하게 확대/축소되는 카메라를 만들어 보겠습니다. 사용자가 게임 아트를 단위당 16픽셀로 설정했다고 가정합니다.
- GameObject 드롭다운에서 Camera를 선택하여 카메라를 생성합니다.
- 카메라의 인스펙터에서 Projection을 Orthographic으로 설정합니다.
- 크기를 11.25로 설정합니다. 11.25라는 값은 화면 높이를 절반으로 나누고(360/2 = 180) 단위당 픽셀 설정값으로 나누어서 얻은 것입니다. 또한 화면 크기는 1280x720, 1920x1080, 3840x2160 등으로 깔끔하게 확장이 가능한 640x360을 선택했습니다.
6. 원근 카메라
원근 카메라(그림 03 및 04)는 실제 카메라와 유사하게 작동합니다. 카메라에서 멀리 떨어진 물체는 작게 보이고 선이나 모서리는 소실점으로 수렴됩니다. 직교 카메라의 범위는 크기로 지정되는 반면 원근 카메라에는 시야각(FOV)이 적용됩니다. 원근 카메라는 게임이나 가상 공간과 같은 3D 프로젝트, 또는 뷰를 실제 카메라와 유사하게 만들어야 할 때 가장 많이 사용됩니다. 원근 카메라는 2D 프로젝트에서 제공하는 자동 시차 효과에도 종종 사용됩니다.

그림 03: 원근 카메라 설정

그림 04: 원근 카메라로 본 동일한 씬
7. 원근 카메라 생성
여기서는 35mm 필름으로 촬영하는 50mm 렌즈를 설정해 보겠습니다. 이 렌즈는 사진 기법적으로 사람이 보는 것과 가장 유사한 방식으로 피사체를 보여주는 일반 다목적 렌즈입니다.
- 카메라를 생성합니다. 기본적으로 새로 생성된 카메라는 Perspective 모드로 설정되며, FOV Axis는 Vertical로 설정됩니다.
- Field of View를 27로 설정합니다.
- 물리적 환경과 일치하는 씬을 만들고, 지면에서 약 150cm 높이 또는 일반적인 사람들의 눈높이에 맞추어 카메라를 배치합니다. 카메라로 보는 시야와 실제 시야가 어떻게 비슷하고 어떻게 다른지 확인해 보세요.
8. 물리적 카메라
세 번째 옵션인 물리적 카메라(그림 05 및 06)는 필름 기반의 카메라와 유사한 설정을 지원하며, 이는 실사 영상을 시뮬레이션하거나 프로젝트에 영화 같은 느낌을 줄 때 유용합니다. 물리적 카메라를 생성하려면 카메라의 Projection을 Perspective로 설정하고 Physical Camera 체크박스를 선택합니다.
Field of View 외에도 물리적 카메라의 범위는 두 가지 관련 설정으로 지정할 수 있습니다. 하나는 실제 또는 가상 필름 카메라와 센서 크기를 일치시키는 Sensor Size, 그리고 다른 하나는 Focal Length입니다. Sensor Size는 이미지가 렌더링(또는 "촬영")되는 영역의 물리적 크기이고 Focal Length는 렌즈와 필름/센서 사이의 거리입니다.

그림 05: 물리적 카메라 설정

그림 06: Super 16mm 무비 카메라로 본 동일한 씬
9. 물리적 카메라 생성
이번에는 영화를 촬영한다고 가정하고, 다양한 렌즈와 필름 형식을 살펴본 다음 원하는 씬에 가장 잘 맞는 조건을 결정해 보겠습니다.
- 카메라를 만들고 Physical이라는 레이블이 지정된 체크박스를 선택합니다.
- 센서 크기를 다양하게 설정해 봅니다. 70mm IMAX와 Super 8은 씬에서 어떤 차이가 있나요? 필름 형식을 직접 만들어 보세요.
- 렌즈의 초점 거리를 다양하게 테스트해 봅니다.
- 초점 거리와 센서 크기(아날로그 미디어의 필름 크기에 해당) 간의 연관성을 확인합니다. 일정 초점 거리가 설정된 렌즈는 씬의 해당하는 부분만큼을 담지만, 필름/센서에 들어오는 씬의 일부만 보이거나 기록됩니다.
- 동일한 이미지에 다른 초점 거리/센서 크기를 설정해 봅니다.
- 미디엄 샷, 롱 샷, 마스터 샷, 클로즈업 등을 만들어 봅니다.
10. 결론
Unity의 다양한 빌트인 카메라를 사용하면 알맞은 분위기를 설정하고 프로젝트의 시각적 효과를 높일 수 있습니다.