[Unity] 시네머신3 알아보기 (1) - Brain Update Method

MINO·2025년 5월 26일

2025-05-26


Cinemachine 3 알아보기

유니티 6 으로 업그레이드하면서 공식 적용된 시네머신 3 에 대해 알아보자.

2D 플랫포머 형식의 앙빅 리턴즈 를 끝내고, 3D FPS 형식의 게임을 만들기 위해 공부하다가
Cinemachine 이 기존에 사용하던 것과 많이 바뀐 것 같아
이번 기회에 한 번 알아보려고 한다.

Package Manager 를 통해 Cinemachine 을 받아주자.


Package ManagerSamples

Unity Korea 에서 제공하는 시네머신3 소개공식 문서 1, 공식 문서2 ,
시네머신 패키지에서 제공하는 Samples 를 통해 알아보자.


Cinemachine Camera

기존 Cinmeachine 의 Virtual Camera 가 사라지고, Cinemachine Camera 라는 이름으로 바뀌었다.

또한, 기존에 사용되던 명칭이 바뀌어 예전 시네머신 관련 영상을 보며, 기능을 구현하려고 하니
헷갈리거나 사라진 속성이 많았다.

복잡했던 시네머신 설정이
Cinemachine Camera, Cinemachine Component, Cinemachine Extension
3가지로 모듈화 되어 원하는 카메라 세팅을 제작할 수 있다고 한다.

Cinemachine CameraCinemachine ComponentCinmeachine Extension

이제 새롭게 바뀐 카메라들의 이름과 용도를 알아보자.



Targeted Camera

목표를 추적하거나 바라보는 기본 구조의 카메라들

종류용도특징
2D Camera2D 게임 전용XY 평면 기반의 카메라 추적
Follow Camera3D 게임에서 객체를 따라다니는 카메라FPS/3인칭에서 기본적으로 사용되는 구조
FreeLook Camera3인칭 RPG 스타일주변을 자유롭게 둘러보며 캐릭터를 중심으로 회전
Target Group Camera여러 타겟을 동시에 추적할 때플레이어, NPC 등을 TargetGroup 으로 묶고 중심과 범위를 조절
Third Person Aim Camera슈팅 게임의 조준 모드어깨 뒤 시점에서 목표를 겨냥하며 카메라 회전, 줌 고정

General-Purpose Camera

일반 용도의 카메라

종류용도특징
Cinemachine Camera기존 Virtual Camera, 기본 카메라 컴포넌트다양한 컨트롤 모드를 설정해 상황에 맞게 구성
ClearShot Camera여러 카메라 중 하나를 자동으로 선택여러 시점이 존재할 때 자동으로 전환
Mixing Camera여러 카메라의 뷰를 혼합 (Blend)여러 시점을 섞은 자연스러운 카메라 전환

Cinematic & Sequence Camera

짧은 스토리를 보여주는 영화 같은 일련의 샷을 연출하기 위한 카메라

시네머신 3에서는 전문적으로 곡선 데이터를 제작할 수 있는 Spline 패키지가 자동으로 연동되도록 개편.
(시네머신 3 패키지를 받으면 자동으로 Spline 패키지가 설치됨)

종류용도특징
Dolly Camera with Spline레일 따라 움직이는 카메라Spline 커브를 따라 움직임
Dolly Cart with Spline레일 따라 움직이는 카트에 카메라속도, 위치 제어 가능
Sequencer CameraTimeline 기반 컷씬특정 이벤트에 따라 활성화/비활성화 가능
State-Driven CameraAnimator 상태에 따라 카메라 전환


Sample Scene - 1.Brain Update Modes

Brain Update Modes

Cinemachine Brain 의 Update Method, Sequencer Camera 에 대해 알아볼 수 있다.

현재 활성화된 카메라의 위치와 회전을 주기적으로 갱신하는 방법을 Update Method 로 결정한다.

시네머신3 에서 제공하는 Sample Scene 을 통해 Brain Update 모드에 따른 차이점을 살펴볼 수 있다.

  • 위의 토글을 이용해 차량 움직임 Rigidbody 의 Interpolate 를 설정할 수 있다.
  • Interpolation 과 Update Method 에 따라 차량의 움직임이 어떻게 보이는지 확인하고,
  • 자신이 구현한 움직임에 맞는 Update Method 를 선택하면 될 것 같다.

Rigidbody는 FixedUpdate 에서 움직이고,
Interpolation 을 사용하면 Unity 가 이전 물리 프레임과 현재 물리 프레임 사이를 보간하여
중간 위치에 있는 것처럼 보여주는 역할을 한다.


Late Update

Unity 의 모든 Update 가 끝난 뒤 실행.

그러나, Rigidbody 는 앞서 말했듯이 FixedUpdate 에서 움직이므로,
이전 물리 프레임과 현재 물리 프레임 사이의 중간 위치를 모르기 때문에 튀는 듯한 움직임이 보이게 된다.

따라서, 캐릭터의 움직임이 Rigidbody - Interpolation 으로 작동한다면,
Late Update 로 설정해주자.


Fixed Update

Unity 의 물리 프레임에 맞춰 일정한 간격으로 실행.

Rigidbody 기반 움직임이 있는 대상은 FixedUpdate 에서 이동하므로,
카메라도 FixedUpdate 에서 움직인다면 정확한 추적이 가능하다.

따라서, 캐릭터의 움직임이 Rigidbody 기반이고, Interpolation 을 따로 설정하지 않았을 때는
Fixed Update 로 설정해주자.


Smart Update

시네머신이 자동으로 최적의 Update Method 를 선택.

추적 대상이 Update 기반인지, FixedUpdate 기반인지 자동으로 분석하여
각각 가장 적절한 타이밍으로 카메라를 업데이트한다.

  • Blue Car : Rigidbody - Interpolation , Late Update 에 적절
  • Red Car : Rigidbody - None , Fixed Upate 에 적절
  • 처음에는 Red Car 를 추적, 카메라 전환 후는 Blue Car 를 추적

Sequencer Camera

Smart Update 기법에서 추적 대상을 자연스럽게 전환하기 위해 사용되었다.

  • 내부적으로 하위 Cinemachine Camera 들을 시간 순서대로 관리하거나
  • Timeline 과 함께 사용하여 애니메이션처럼 제어하거나
  • 게임 이벤트나 트리거를 통해 특정 시퀀스를 재생할 때
    주로 사용된다.
HierarchySequencer Camera_InspectorChild Camera_Inspector

  • Cinemachine Sequencer Camera 프로퍼티
항목설명
Default TargetSequencer Camera의 Tracking Target을 자식 카메라들이 상속받도록 설정하는 옵션 (True/False)
Loop시퀀스의 마지막 카메라까지 도달한 후 다시 처음부터 반복 재생할지 여부
Instructions시퀀서가 어떤 자식 카메라를, 언제, 어떻게 활성화할지를 정의하는 섹션
└ Child Camera사용할 자식 Cinemachine Camera 선택
└ Blend In전환 방식 설정 (예: Ease In Out으로 부드러운 진입/종료)
  • Child Cinemachine Camera 설정

    • Position Control - Follow (대상을 따라가는 위치 기반 추적하는 방식)

      항목설명
      Tracking Target예: Red Car, Blue Car 등 대상 오브젝트
      Binding ModeWorld Space - 월드 좌표계 기준으로 추적
      Position Damping대상 위치를 따라올 때 카메라 이동의 지연 속도
      Follow Offset대상과 카메라 사이의 상대 거리
    • Rotation Control - Rotation Composer (대상을 따라 어떻게 회전할지)

      항목설명
      Screen Position대상이 화면 내에 유지되길 원하는 위치 (0.5, 0.5는 화면 중앙)
      Dead Zone회전 반응 전에 허용되는 움직임 범위 (On/Off)
      Hard Limits카메라가 따라갈 수 있는 회전 각도 제한 설정 (On/Off)
      Center On Activate카메라가 활성화될 때 자동으로 스크린 중심으로 보정할지 여부
      Target OffsetLookAt 대상의 어느 지점을 바라볼지 지정 (예: 머리, 어깨 등)
      Damping회전의 부드러움 조절
      Lookahead대상의 이동 방향을 예측하여 미리 회전할지 여부 (On/Off)


profile
안녕하세요 게임 개발하는 MINO 입니다.

0개의 댓글