[TIL] Unity - 시네머신

MINO·2024년 6월 14일
0
post-thumbnail

2024-06-14


시네머신

Unity 에서 제공하는 고급 카메라 시스템.
카메라 이동, 추적, 매핑, 블렌딩 등을 쉽게 구현할 수 있도록 도와주는 시스템.

(Package Manager - Cinemachine 을 추가)

Unity Docs - 시네머신


기존 카메라 사용 방법

기존에는 Main Camera 를 Player 오브젝트의 자식 오브젝트로 설정하거나,
카메라의 움직임을 관리하는 스크립트를 통해 카메라 위치를 상황에 따라 옮겨주었다.


한계점

3D 환경에서 캐릭터가 지붕 아래에 들어가 캐릭터의 모습이 가려지거나,
하늘을 보기 위해 시야를 조정했다가 카메라가 땅에 박히는 경우가 발생한다.


다양한 시네머신 카메라

Cinemachine 을 추가하며 사용할 수 있게된 카메라의 종류에 대해 알아보고,
활용할 수 있는 방법도 생각해보았다.


카메라 종류설명활용 방안
2D Camera2D 게임에서 가장 기본이 되는 카메라
Blend List Camera할당된 가상 카메라를 정해진 블렌딩 방식에 따라 순차적으로 전환하는 카메라컷씬, 액션 씬을 다양한 각도에서 보여줄 때
ClearShot Camera여러 대의 카메라 중 장애물이 없는 가장 적합한 뷰를 선택하는 카메라캐릭터가 건물 내부로 들어갈 때, 벽이나 장애물이 많은 곳을 지나갈 때
Dolly Camera with Track설치된 트랙을 따라 이동하는 카메라(영화 촬영 시,) 캐릭터가 긴 복도를 걸어가는 장면에서 트랙을 설치해두고 따라가며 촬영
Dolly Camera with Cart카트를 타고 이동하며 카메라(영화 촬영 시,) 자동차 추격 씬
FreeLock Camera3인칭 시점에서 캐릭터를 따라가는 카메라RPG 게임 등에서 마우스나 조이스틱을 통해 다양한 각도에서 상황을 볼 때
Mixing Camera여러 대의 가상 카메라의 출력을 혼합하여 하나의 최종 뷰를 생성하는 카메라
State-Driven Camera게임의 상태에 따라 카메라를 전환하는 카메라차량에 탑승했을 때, 전투기에 탑승했을 때
Target Group Camera여러 개의 타겟을 그룹으로 묶어, 그룹의 중심을 따라가는 카메라유저들이 협력하는 게임에서, 모든 캐릭터를 한 화면에 담을 때
Virtual Camera시네머신의 기본 구성 요소, 카메라의 위치, 회전, 줌 등을 설정할 수 있는 가상 카메라

Virtual Camera 활용


Property속성
Priority다양한 카메라 중 우선순위
Follow따라다닐 오브젝트 설정
Look At바라볼 오브젝트 설정
Standby UpdateLive 상태가 아닌 카메라의 업데이트 주기
(Never - 항상 / Always - Live일때만 / Round Robine - 정기적으로)
Body씬 내부의 가상 카메라가 움직일 때 따라가는 방법
Aim씬 내부의 가상 카메라가 LookAt 을 바라보는 방법

Cinemachine Collider

플레이어가 건물 안으로 들어가거나 장애물에 가려질 때,
다른 카메라를 사용할 필요 없이
Cinemachine Collider 컴포넌트를 붙여 해결할 수 있다.


결과

캐릭터가 건물에 들어갈 때 (카메라가 벽을 통과할 때),
벽에 의해 캐릭터가 가려지지 않고 건물 안이나 밖으로 이동할 때 적절하게 따라온다.


TIL 마무리

저번 3D 팀 프로젝트를 할 때, Player 를 담당한 팀원이 시네머신을 활용한 적이 있어,

다음 3D 프로젝트 때는 직접 시네머신을 사용해보고 싶었는데 바로 사용해보게 되었다.

3D 게임, 다양한 액션 씬이나 RPG 게임 등에서 시네머신 카메라가 유용하게 쓰일 것 같으니 잘 기억해둬야겠다.

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

0개의 댓글