본문 바로가기
공부/유니티

유니티 Cinemachine 테스트 영상

by 라이티아 2024. 11. 25.

 

하방 카메라 좌 -> 우 -> 상 카메라로 blend list camera 사용

 

Q.

내가 유니티에서 시네머신으로 한 장면을 만들었는데 blend list camera를 사용했어 근데 이게 끝나면 게임이 진행될 메인 카메라로 바꿔야 되는데, 설마 시네머신을 사용하면 일반적인 카메라는 사용을 못하게 되는거야?

 

A.

걱정하지 마세요! 시네머신(Cinemachine)을 사용해도 일반 카메라를 사용할 수 있습니다. 시네머신은 기본적으로 유니티 카메라와 상호작용하는 시스템으로, "Virtual Camera"를 통해 카메라의 움직임과 설정을 제어합니다. 하지만 시네머신을 사용하다가 일반 카메라로 전환하는 것도 충분히 가능합니다.

해결 방법: 시네머신에서 일반 카메라로 전환

  1. Main Camera 활성화 및 비활성화
    시네머신이 동작할 때는 Main Camera에 시네머신 브레인(Cinemachine Brain)이 연결되어 있어야 합니다. 브레인이 활성화된 상태에서는 가상 카메라(Cinemachine Virtual Camera)가 카메라를 제어하지만, 이를 비활성화하면 일반 카메라처럼 사용할 수 있습니다.
  2. 시네머신 가상 카메라 우선 순위 설정
    가상 카메라의 **우선 순위(Priority)**를 조정하면 일반 카메라로 전환할 수 있습니다. 가상 카메라의 우선 순위를 0으로 낮추거나, 특정 가상 카메라를 비활성화하면 메인 카메라가 제어권을 가져옵니다.
  3. Blend List Camera 종료 후 자동 전환
    Blend List Camera에서 장면이 끝나면 메인 카메라로 자연스럽게 전환되도록 이벤트를 설정할 수 있습니다. 예를 들어, 시네머신 클립이 종료된 후 CinemachineBrain의 CameraCut 이벤트를 활용할 수 있습니다.
  4. 메인 카메라로 복귀
    시네머신을 비활성화한 후, 메인 카메라의 트랜스폼과 설정을 조정하여 원하는 위치와 방향으로 설정하세요.

정리

  • 시네머신을 사용하더라도 일반 카메라로 전환할 수 있습니다.
  • CinemachineBrain을 비활성화하거나, 가상 카메라의 우선 순위를 조정하면 메인 카메라로 돌아갈 수 있습니다.
  • Blend List Camera가 끝난 후 자동으로 메인 카메라로 전환되도록 스크립트를 작성하면 매끄러운 전환이 가능합니다

 

 

Main Camera 활성화 및 비활성화
CinemachineBrain cinemachineBrain = Camera.main.GetComponent<CinemachineBrain>();
if (cinemachineBrain != null)
{
    cinemachineBrain.enabled = false;
}
//시네머신 가상 카메라 우선 순위 설정
myVirtualCamera.enabled = false;
//Blend List Camera 종료 후 자동 전환
void OnBlendComplete()
{
    CinemachineBrain cinemachineBrain = Camera.main.GetComponent<CinemachineBrain>();
    if (cinemachineBrain != null)
    {
        cinemachineBrain.enabled = false;
    }
}

 

 

Q.

CinemachineBrain은 인스펙터에도 있어?

 

A.

네, CinemachineBrain은 인스펙터에 나타납니다!

CinemachineBrain은 Unity의 카메라 컴포넌트에 추가되어 있으며, 보통 Main Camera에 자동으로 붙어 있습니다. 이 컴포넌트는 시네머신 가상 카메라(Cinemachine Virtual Camera)를 제어하고, 카메라 간 전환(블렌딩)과 같은 작업을 담당합니다.