유니티의 카메라 프레임 워크인 시네머신에 대해서 정리한다.
시네머신은 카메라 연출에 필요한 코드와 조정 작업 대부분을 대체할 수 있다.
게임 잘으마다 고유한 카메라 동작을 별다른 스크립트 작성 없이 구현할 수 있다.
이를 잘 다루기 위해, 개념부터 활용까지 한번 정리해보자.
시네머신은 다음과 같이 크게 두 가지로 나뉜다.
브레인 카메라는 시네머신으로 카메라 추적을 구현하기 위한 필수적인 것으로,
게임 월드를 촬영하는 진짜 카메라이며 씬에 하나만 존재한다.
가상 카메라는 브레인 카메라의 분신 역할을 하며, 씬에 여러 개 존재할 수 있다.
브레인 카메라는 여러 가장 카메라 중 하나를 골라 현재 활성화된 카메라로 사용한다.
가상 카메라는 실제 카메라로 동작하지 않는다.
반면, 브레인 카메라를 위한 여러 설정값을 제공한다.
브레인 카메라가 어떤 가상 카메라를 현재 활서와쇤 카메라로 설정하면,
브레인 카메라는 해당 가상 카메라의 위치로 이동하고
해당 가상 카메라의 설정값들을 브레인카메라 자신의 설정값으로 사용한다.
이제 시네머신에 대한 기능, 설정을 좀 더 알아보자.
대표적으로 쓰이는 브레인과 가상 카메라를 살펴보자.

시네머신 브레인 컴포넌트의 모습이다. 필드에 대해서 한번 다 짚고 넘어가보자.
| 속성 | 설명 |
|---|---|
| Ease In Out | 천천히 시작 → 빠르게 → 천천히 끝남 (가장 부드럽고 자연스럽다) |
| Cut | 전환 없음. 그냥 즉시 딱 바뀜 |
| Hard In | 시작은 빠르게, 끝날 때 천천히 |
| Hard Out | 시작은 천천히, 끝날 때 빠르게 |

| 옵션 | 설명 |
|---|---|
| Always | 활성화 여부와 관계없이 항상 업데이트 (비용 ↑) |
| Never | 비활성화되면 업데이트 하지 않음 (성능 ↑) |
| Round Robin | 여러 비활성 VCam 중 일부만 간헐적으로 업데이트 (균형) |
| 옵션 | 설명 | 사용 예시 |
|---|---|---|
| Do Nothing | 카메라 위치 고정. 이동하지 않음 | 고정된 연출, 컷신, 2D 배경 등 |
| Framing Transposer | 카메라가 대상이 일정한 화면 위치에 있도록 자동으로 따라감. 2D에 적합 | 2D 플랫포머, 횡스크롤 |
| Hard Lock to Target | 카메라가 대상과 완전히 동일한 위치로 이동 | 1인칭 시점, 완전 밀착 추적 |
| Orbital Transposer | 대상 주변을 원형으로 회전하며 따라감. Orbit 카메라 | 3D 액션, RPG, RTS |
| Tracked Dolly | 카메라가 지정된 레일 경로(Dolly Track)를 따라 이동 | 레일컷신, 연출 장면 |
| Transposer | 대상과의 상대적인 위치를 유지함 (Offset 기반). 3D에 자주 사용 | 3인칭 시점, 드론 느낌 |
| 옵션 | 설명 | 사용 예시 |
|---|---|---|
| Do Nothing | 회전 안 함. 회전 제어를 외부에서 처리 | 고정 카메라 연출 |
| Composer | LookAt 대상이 화면의 특정 지점에 오도록 자동 조정 | 시네마틱, 스토리 중심 |
| Group Composer | 여러 대상이 화면 내에 모두 보이도록 회전과 줌 자동 조정 | 협동 게임, RTS |
| POV (Point of View) | 카메라를 입력 장치(마우스, 조이스틱)로 직접 회전 | 1인칭/3인칭 자유 시점 |
| Same As Follow Target | 카메라 회전을 Follow 대상과 완전히 동일하게 유지 | FPS, 차량, 1인칭 주행 게임 |
| Hard Look At | 대상만 바라보되, 회전의 부드러움 없이 정확한 회전만 적용 | 연출용 빠른 응시 |
Basic Multi Channel Perlin 사용 시, 진동 강도/속도 등 조절이 가능하다.| 확장 | 기능 |
|---|---|
| Cinemachine Confiner | 카메라가 특정 Collider 범위 밖으로 나가지 않게 제한 |
| Cinemachine Collider | 벽이나 장애물에 가려지지 않게 카메라 위치 자동 조정 |
| Cinemachine Impulse Listener | Impulse 이벤트를 받아서 카메라에 진동 효과 적용 |
플레이어를 추적하는 카메라를 시네머신으로 만들어보자.
Window → PackageManager → Cineachne Install




사용 용도에 따라 다르지만, 여기서는 추적을 목적으로 하기에
가상 카메라의 컴포넌트 필드에 Follow와 Look AT에 추적할 대상 오브젝트를 할당한다.