Unity 에서 Cinemachin 카메라를 처음 접하신 분들이라면, Main Camera 에 Cinemachine Camera 를 연결하면, main 카메라의 position이나 rotation 값이 변경되지 않아 당황스러울 때가 있습니다. 이번 글에서는 Cinemachine 카메라의 동작 원리와 올바른 설정 순서에 대해 알아보겠습니다.
Main 카메라에서 Cinemachine 카메라로 제어권이 넘어감
먼저, Main 카메라에 Cinemachine 카메라를 연결하면, 제어권을 Cinemachine 카메라에 넘기기 때문에, 그 때부터는 카메라의 위치나 회전 등은 Cinemachine 카메라에서 조정해 주어야 합니다.
Cinemachine 에는 Procedural Components 라는 시스템이 있어서, 카메라의 위치와 회전을 자동으로 계산해서 조정하기 때문입니다.
• Cinemachine Camera 를 추가하면, 자동으로 Main Camera 에 컴포넌트로 추가되고 이 때부터 Main Camera 의 Transform 은 값을 설정할 수 없게 됩니다. ( 이 상황에서 사용자는 마치 에디터나 코드가 버그가 걸린 것처럼 느낄 수밖에 없습니다. Transform 을 비활성 처리해주면 좋을텐데, 입력이 안먹히니 사용자가 뭘 잘못했는지 인지하기가 어렵습니다. )
Cinemachine 카메라의 위치, 회전 제어 : Procedural Components
Cinemachine Camera 에는 위치와 회전을 담당하는 Procedural Components 가 있으며, 이를 통해 카메라의 위치와 회전을 계산하는 방식으로 제어합니다. 따라서 Procedural Components 의 Position Control 이나 Rotation Controal 항목을 선택하면 Cinemachine 카메라의 Transform 이 Main 카메라에서 겪었던 현상처럼 제어를 할 수가 없게 됩니다.
• Cinemachine 카메라의 Procedural Components 의 Position Control 을 먼저 선택 ( 스샷에서는 Position Composer ) 한 후, 카메라의 위치를 수정하려면 입력이 되지 않습니다. Procedural Components 에서 위치값을 메뉴를 통해 제어를 하겠다고 선택한 것이기 때문에 당연한 것입니다.
Cinemachine 카메라의 Transform 먼저 수정
이러한 동작 방식을 이해하셨다면, 해결 방법은 간단합니다.
Procedural Components 에서 메뉴를 선택하기 전에, Transform 을 먼저 원하는 값으로 설정을 하는 것입니다.
• Position, Rotation Control 둘 다 None 으로 선택한 뒤, Cinemachine 카메라의 위치와 회전을 조절합니다.
• 그 후에, 원하는 동작 방식을 선택하면 됩니다.
요약
• Main 카메라에서 Cinemachine 카메라로 제어권을 넘기면, Transform 설정은 Cinemachine 이 담당합니다.
• Cinemachine 카메라에서 Procedural Components 를 설정하면, 해당 축 (Position 또는 Rotation) 의 수동 조작이 불가능해진다.
• 해결 방법은 Transform 에서 위치와 회전을 먼저 설정한 후에, Procedural Components 를 설정하면 됩니다.
'Unity' 카테고리의 다른 글
Rigidbody 를 사용하면서, transform 코드가 제대로 동작을 안할 때 (0) | 2025.07.16 |
---|---|
물리 공간과 오브젝트 공간에서의 물체 이동 (0) | 2025.07.14 |
Input Sytem : InputAction 사용법 정리 (0) | 2025.07.14 |
Player Input 컴포넌트를 꼭 써야할까? (0) | 2025.07.13 |
Unity 패키지(.unitypackage) 파일 다루는 방법과 주의할 점 (0) | 2025.07.12 |