[Unity] 시네머신 (Cinemachine)

먼저 이번 포스팅은 Unity 2022 버전의 프로젝트 기준 시네머신을 다루고 있습니다.

유니티 6버전 이상의 시네머신은 명칭 및 사용 방법이 조금씩 다르므로 추후 따로 포스팅 할 예정입니다.

⭐ 시네머신 설치

시네머신을 사용하기 위해선 먼저 Window - Package Manager - Cinemachine을 설치해야 합니다.

 

 

 

 

 

● 패키지 매니저 열기

 

 

 

 

● Cinemachine 패키지 설치

 

 

 

⭐ 시네머신

시네머신은 여러 카메라 연출 기법들을 보다 손쉽게 사용하기 위해 유니티에서 지원하는 기능입니다.

시네머신을 사용하면 게임 내 컷신 뿐만 아니라 개발자가 직접 구현했어야 할 복잡한 카메라의 전환이나 무빙을 비교적 쉽고

빠르게 구현할 수 있습니다.

또한 카메라는 렌더링에 필요한 비용이 많이 들어가는 편이기 때문에 여러 카메라를 생성하는 것보다

시네머신을 이용하는 것이 성능적으로도 훨씬 좋습니다.

 

 

 

 

 

Cinemachine Brain


메인 카메라에 붙는 컴포넌트로 씬 안에 있는 모든 가상 카메라를 모니터링 합니다.

실제 카메라와 가상 카메라를 연결해주는 핵심 컨트롤러입니다.

 

 

 

Virtual Camera


시네머신의 가장 기본적인 요소인 가상 카메라입니다.

이 가상 카메라는 실제 카메라가 아니라 카메라가 제어할 Transform 정보와 주시 대상 등에 대한 정보를

가지고 있는 컴포넌트로 구성된 오브젝트입니다.

때문에, 가상 카메라를 사용하는 것은 직접적으로 카메라를 추가하는 방법과 비교했을 때

성능적인 이득을 볼 수 있습니다.

 

○ 하이어라키 창에서 우클릭 후 Cinemachine - Virtual Camera를 생성합니다.

○ Virtual Camera가 생기면 메인 카메라는 CinemachineBrain 컴포넌트가 자동으로 추가됩니다.

 

 

● 시네마틱 카메라에 대해 설정하는 컴포넌트입니다.

● 시네마틱 카메라의 업데이트 속도, 방법과 상태에 대한 이벤트를 발생시킬 수 있습니다.

● Camera Cut Event: 블렌드 없이 카메라가 즉시 전환될 때 호출

● Camera Activated Event: 새로운 가상 카메라가 활성화될 때 호출

 

 

 

 

💡 Virtual Camera 컴포넌트 속성

● Status: 클릭시 해당 가상 카메라의 뷰를 미리 볼 수 있습니다.

● Game Window Guides: 가상 카메라가 화면에서 무엇을 보고 있는지 시각적으로 보여줍니다.

● Save During Play: 에디터가 플레이 상태였을 때 변경한 내역들을 저장해줍니다.

● Priority: 우선도를 뜻하며, 값이 높을 수록 우선으로 보여줍니다

● Follow: 따라다닐 타겟을 설정합니다.

● Look At: 바라볼 타겟을 설정합니다.

● Standby Update: 비활성 상태일 때의 업데이트 방식을 설정합니다.

    ○ Never: 비활성 상태에서는 업데이트가 멈춥니다.

    ○ Always: 비활성 상태에서도 Follow, Look At등 업데이트를 계속 합니다.

    ○ Round Robin: 간헐적으로 업데이트합니다.

● Lens Vertical FOV: 카메라 시야각을 설정합니다.

● Transitions: 카메라를 전환할 때 효과를 설정합니다.

● Body: 가상 카메라가 움직일 때 따라가는 알고리즘을 설정합니다.

● Aim: 가상 카메라가 Look At 타겟을 바라볼 때의 회전 알고리즘을 설정합니다.

● Noise: 카메라가 자연스럽게 흔들리도록 만드는 효과입니다.

● Extension: 추가적인 기능들을 확장할 때 사용합니다.

 

 

 

 

더 많은 시네머신 카메라 종류


카메라 종류

 

● 2D Camera: 2D 전용 가상 카메라입니다.

● Blend List Camera: 가상 카메라들의 전환 과정과 시간을 제어할 수 있습니다.

● ClearShot Camera: 여러대의 가상 카메라를 대기시키고 주시해야할 대상이 벽에 가려지면 대상을 주시할 수 있는 다른 카메라로 전환합니다.

● Dolly Camera with Track: 가상 카메라가 트랙(경로)을 따라 이동하게 합니다.

● Dolly Track with Cart: 가상 카메라가 아니어도 게임 오브젝트가 트랙(경로)을 따라 이동하게 합니다.

● FreeLook Camera: 중앙 캐릭터 주변을 원형 궤도로 자유롭게 회전합니다. (3인칭)

● Mixing Camera: 여러 가상 카메라의 결과(위치, 회전, 렌즈 등)를 가중치 기반으로 섞어서 하나의 카메라 결과로 만듭니다.

● State-Driven Camera: 캐릭터 Animator 상태에 따라 가상 카메라를 자동 전환합니다.

● Target Group Camera: 여러 오브젝트들을 한 화면에 담을 수 있도록 중간 지점을 포커싱합니다.

● Virtual Camera: 가장 기본적인 가상 카메라입니다.