Unity 검색

광원, 카메라, 액션! 시네머신으로 카메라를 설정해보세요

Last updated: November 2018

시네머신이 Unity 2017 주기부터 실질적인 Unity의 카메라 시스템이 되었습니다. 표면 아래에는 많은 옵션과 가능성을 갖춘 정교한 시스템이 있습니다. 유니티의 기술 에반젤리스트 치로 콘티니시오(Ciro Continisio)가 제공하는 시네머신에 대한 더 많은 고급 사용 사례와 팁을 보려면 계속 읽어보세요.

다중 시네머신 브레인

때때로 분할 화면 멀티플레이어를 위해 두 대 이상의 카메라가 필요할 수도 있고, PIP(Picture-in-Picture) 효과(예: 감시 카메라)를 만들고 싶을 수도 있습니다. 비록 시네머신이 모든 카메라를 제어하는 것처럼 보일지라도, 브레인 컴포넌트를 통해 씬에 각각 일련의 가상 카메라를 바라보는 브레인 여러 개를 포함시킬 수 있는 방법이 있습니다.

이러한 경우, 캐릭터의 얼굴을 가리키는 보조 카메라를 사용하여 RenderTexture로 렌더링하는 것만으로 동영상 피드가 내장된 UI를 볼 수 있습니다. 이 동영상 피드를 좀 더 흥미롭게 만들기 위해 시네머신을 사용하여 캐릭터의 얼굴이 프레임 안에 있도록 할 수 있습니다.

cinemachine-RenderTexture-MultipleBrains

이 경우 설정은 정말 간단합니다. 두 대의 Unity 카메라를 만들고 각각에 시네머신 브레인을 연결합니다. 그런 다음에는 필요한 만큼의 가상 카메라를 만들 수 있습니다.

Multiple-Cinemachine-Brains

브레인이 이러한 VCam 중 일부만을 볼 수 있도록 하기 위해, 딱 세 가지 작업을 해야 합니다.

  1. 특정 카메라에 영향을 주고자 하는 VCam이 고유의 레이어(예: "캐릭터")에 있도록 합니다.
  2. 해당 카메라의 컬링 마스크가 해당 레이어를 렌더링하도록 설정합니다.
  3. 다른 카메라의 컬링 마스크가 해당 레이어를 제외하도록 설정합니다.

프로세스가 카메라의 컬링 마스크를 사용한다고 해도 이것이 렌더링을 변경해야 한다는 의미는 아니라는 것을 명심하세요. 설정할 수 있는 31개의 레이어 중에서 특별히 VCam을 넣을 수 있는 레이어는 하나만 만들 수 있습니다.

전체 프로세스가 아래 동영상에도 요약되어 있습니다.

다른 "월드 업" 축

시네머신은 "월드 업" 축이 있다는 가정 하에 작동하며, 기본적으로 Y가 수직축입니다. 이를 레퍼런스로 사용함으로써 어떤 카메라 동작을 하지 말아야 하는지 압니다. 타겟을 똑바로 올려다보거나 똑바로 내려다보는 것이 그 예입니다(실제 카메라는 그런 동작을 하지 않습니다!).

2D 카메라(직교로 표시된 카메라)의 경우 시네머신은 다르게 동작하며 나머지 2개의 축(이 경우 X와 Z)으로 구성되는 평면인 그라운드 플레인(Ground Plane)에서의 카메라 움직임을 제한합니다.

그러나 때때로 이 “월드 업” 축과 그에 대응되는 평면으로 다른 것을 사용해야 할 때가 있습니다. 예를 들어, 여러분이 2D 물리를 사용하는 게임을 작업하고 있고 이에 따라 게임플레이에 XY 평면을 사용해야 합니다. 하지만 카메라가 이 평면을 비스듬히 바라보도록 하고 싶기 때문에 카메라 평면이 아래 이미지와 같이 약간 기울어져 있습니다.

world-up-override-cinemachine

이렇게 하려면 시네머신 브레인의 "월드 업 오버라이드" 프로퍼티에 트랜스폼을 할당하면 됩니다. 비어 있는 게임 오브젝트를 생성하여 이를 조작기로 사용할 수 있으며, 이 오브젝트를 회전시켜 시네머신 설정에 적합한 “월드 업”을 찾아볼 수 있습니다.

포스트 프로세싱의 스마트한 사용

시네머신은 포스트 프로세싱 스택 v1 및 v2 모두와 작동하지만 v2가 가장 적합합니다. v2의 볼륨 기반 시스템으로 인해 시네머신과 함께 사용했을 때 몇 가지 멋진 트릭을 사용할 수 있기 때문입니다.

시네머신과 v2를 함께 사용하는 경우 효과를 두 개의 카테고리로 나누는 것이 좋습니다.

  1. 모든 샷에 적용되는 일반적인 효과.
  2. 하나의 샷(또는 시네머신 용어로는 VirtualCamera)에만 적용되는 효과.

게임이나 영화 전반에 걸쳐 스타일을 일관되게 유지하기 위해 일반적으로 앰비언트 오클루전, 색 보정, 노이즈와 같은 효과 및 기타 스타일 효과는 대개 첫 번째 그룹에 포함됩니다. 뎁스오브필드(피사계심도), 렌즈 왜곡, 색 수차 및 카메라의 물리 프로퍼티를 시뮬레이션하는 다른 효과들은 가상 카메라에 포함되어도 괜찮습니다. 이들은 어려운 규칙이 아닙니다.

예를 들어, 아래의 예를 보면 낡은 보안 카메라의 렌즈를 통해 보는 느낌을 주기 위해 로컬 포스트 프로세싱 볼륨을 사용하는 것을 볼 수 있습니다.

post-processing-intro

이를 구현하려면 "글로벌(Is Global)"이라고 표시되어 있지 않은 가상 카메라 자체에 포스트 프로세스 볼륨이 필요하고, 콜라이더를 추가해야 합니다. 보통 반지름이 0.05 정도인 매우 작은 스피어 콜라이더면 되므로 카메라가 게임플레이 도중 실수로 이 영역으로 들어가지 않도록 하세요.

이제 됐습니다. 가상 카메라, 포스트 프로세스 볼륨 및 콜라이더가 동일한 오브젝트에 있습니다.

smart-use-post-processing

그런 다음 원하는 효과를 모두 추가할 수 있으며, 적절한 체크박스를 선택하여 메인 프로필의 일부 효과를 오버라이드할 수도 있습니다. 체크박스를 선택하지 않을 경우 해당 프로퍼티의 기본 값(보통 글로벌 볼륨 값)을 유지하게 된다는 점을 기억하시기 바랍니다. 체크박스를 선택할 경우 이 볼륨에 대해서만 오버라이드하게 됩니다.

돌리 줌 효과 생성

마지막으로, 사소한 촬영 요령입니다. 소위 “돌리 줌” 효과를 본 적이 있나요? 이 효과는 1958년 알프레드 히치콕(Alfred Hitchcock)의 영화 “현기증(Vertigo)”에서 처음으로 사용된 이후 많은 영화에 사용되었습니다.

화면에서는 캐릭터와 배경 사이의 공간이 확장 또는 수축하는 것처럼 보입니다. 이는 꽤 멋진 기술이며 시네머신을 통해 매우 쉽게 재현할 수 있습니다.

게임플레이 도중에 트리거되도록 설정된 아래 예시를 확인하시기 바랍니다.

Cinemachine-Dolly-Zoom

이러한 효과를 만들기 위해서 먼저 2개의 가상 카메라를 동일하게 설정합니다. 그런 다음 그 중 하나를 뒤로 당겨서 시야각(FOV) 값을 낮춰야 합니다. 타임라인을 통해 또는 우선 순위를 사용하여 그 둘을 섞으면 돌리 줌 효과를 얻게 됩니다.

이 효과는 직교 카메라가 아닌 원근 카메라로만 작동한다는 점을 기억하시기 바랍니다!

리소스 더 보기