2025-05-29

카메라가 어떻게 회전을 제어할지 결정하는 구성 요소이다.
이전의 Position Control 에서는 카메라가 타겟을 따라 이동하는 방식이었고,
Rotation Control 은 타겟을 향해 회전하는 방식을 결정한다.
Unity - Cinemachine 3 - Rotation Control
| 옵션 | 설명 | 사용 예시 |
|---|---|---|
| None | 카메라 회전을 자동으로 제어하지 않음. 외부 입력이나 스크립트로 직접 회전 제어. | 시네마틱 컷신, 연출 장면 |
| Rotate With Follow Target | Follow 타겟의 회전을 따라감. 타겟이 회전하면 카메라도 함께 회전. | TPS 시점 |
| Spline Dolly Look At Targets | Spline 으로 이동하면서 지정된 타겟을 따라 회전 | 레일 위의 카메라 |
| Rotation Composer | 타겟을 중심으로 카메라의 회전 구성을 조절 | 3D 액션 게임, 컷신 연출 |
| Hard Look At | Look At 타겟을 직접적으로 바라보게 강제 | 타겟 고정 카메라, 실시간 조준 |
| Pan Tilt | 이전의 POV, 회전 각도를 팬(X축), 틸트(Y축)로 제한하며 타겟을 따라감 | CCTV, 보안 카메라 연출 |
카메라가 Follow Target 의 로컬 회전(Rotation)을 그대로 따라가도록 설정하는 방식이다.
Cinemachine Rotate With Follow Target 프로퍼티
| 프로퍼티 | 설명 |
|---|---|
| Damping | 타겟의 회전을 얼마나 빠르게 따라갈지 |
경로를 따라 움직이는 카메라의 회전을 구현하기 위한 방식이다.
Cinemachine Spline Dolly LookAt Targets 프로퍼티
| 항목 | 설명 |
|---|---|
| Index Unit | Look At 타겟이 배치된 위치를 해석하는 단위 |
| └ Knot | Spline 상의 노드를 기준으로 타겟 위치를 설정 |
| └ Distance | Spline 경로 상의 이동 거리를 기준으로 타겟을 설정 |
| └ Normalized | Spline의 전체 길이를 0~1 사이 비율로 정규화하여 위치를 설정 |
| Index | 타겟의 인덱스 |
| Look At | 카메라가 해당 위치에 도착했을 때, 바라볼 대상 |
| Offset | Look At 타겟의 상대 위치 오프셋 |
| Easing | 데이터 지점에서 천천히 들어오고 나가는 방식 Ex) 0 은 지점 사이를 선형적으로 보간, 1 은 잠시 정지하여 타겟을 바라봄 |
이전 시네머신의 Composer 방식이다.
카메라의 회전을 타겟의 움직임이나 위치를 기준으로 자동으로 보정하는 방식이다.
Cinemachine Rotation Composer 프로퍼티
| 항목 | 설명 |
|---|---|
| Screen Position | 화면 내에서 타겟이 유지될 위치를 지정 |
| Dead Zone | 타겟이 이 영역 내에 있을 땐 카메라가 회전하지 않음 |
| Hard Limits | 회전이 가능한 시야 범위를 제한 |
| Center On Activate | 카메라가 활성화될 때 자동으로 타겟 중심으로 회전 |
| Target Offset | 회전할 타겟의 오프셋 |
| Damping | 회전 속도에 감쇠 |
| Lookahead | 타겟이 이동하는 방향을 예측해 미리 회전 |
플레이어가 바라보는 방향을 유지하는 TPS 시점을 구현할 때 유용할 것 같다.
LookAhead 옵션을 통해 빠르게 움직이는 차량이나 캐릭터를 쫓을 때,
긴박한 화면 연출을 구현할 수도 있다.
화면을 회전시켜 대상을 카메라 프레임 중앙에 위치시키는 방식이다.
Unity - Cinemachine - Third Person Follow
타겟을 중심으로 회전하고, 지정된 거리와 높이를 유지하며 따라가는 3인칭 시점 카메라이다.
Cinemachine Hard Look At 프로퍼티
| 항목 | 설명 |
|---|---|
| Look At Offset | Look At 타겟의 원점으로부터 오프셋 카메라가 해당 부분을 바라보며 회전 |
가장 직관적이고 단순한 회전 제어 방식이다.
Damping 이 없기 때문에 타겟이 바뀌면 어색할 수 있으니 유의해서 사용해야 한다.
사용자 입력과 같은 반응에 따라 카메라의 Pan 과 Tilt 를 변경하는 방식이다.
Unity - Cinemachine - Pan Tilt
시네머신 Input Axis Controller behaviour 등을 통해 플레이어 입력에 따라
타겟을 기준으로 카메라의 위치를 동적으로 제어할 수 있다.
Cinemachine Pan Tilt 프로퍼티
| 항목 | 설명 |
|---|---|
| Reference Frame | 팬 및 틸트 회전을 어느 축을 기준으로 할지 결정 |
| └ Parent Object | Cinemachine 카메라의 부모 오브젝트의 Local 축을 기준 부모 오브젝트가 없다면, World 축을 기준 |
| └ World | World 축을 기준 |
| └ Tracking Target | 타겟이 지정되어 있으면, 오브젝트의 Local 축을 기준 타겟이 없으면 World 축을 기준 |
| └ Lock At Target | LookAt 이 지정되어 있으면, 오브젝트의 Local 축을 기준 LookAt 이 없으면, World 축을 기준 |
| Pan,Tilt Axis | 수평, 수직 축에 대한 설정 |
| └ Value | 현재 팬(Pan) 축의 회전 각도 |
| └ Center | Recentering 기능이 활성화된 경우, 이 값으로 자동 복귀 |
| └ Range | 축 값이 가질 수 있는 최소/최대 범위 |
| └ Wrap | 축 값이 범위를 넘으면 순환 |
| └ Recentering | 사용자 입력이 멈춘 뒤 축 값이 Center로 자동 복귀 |
마찬가지로 사용자의 입력을 받기 위해 Input Controller 를 추가해주면 된다.
Cinemachine Input Axis Controller 를 주로 사용한다.