✍️ 개요
3인칭 시점은 Unity 3D 게임을 제작할 때 많이 사용합니다.
그래서 유니티는 Cinemachine 카메라에 3인칭 시점에 대한 제어를 제공하고 있어요.
오늘은 Cinemachine을 활용하여 3인칭 시점을 구현해보겠습니다.
[ 오늘의 작업물 미리보기 ]
📌 구현 방법
먼저 연습을 위해 [ PlayerFollowCamera ] 가상 카메라 오브젝트를 제거합니다.
씬을 보시면 MainCamera 오브젝트가 보입니다.
MainCamera에 [ Cinemachine Brain ] 컴포넌트를 추가하여 가상 카메라를 제어할 준비를 합니다.
※ 이미 추가되어 있다면 넘어가시면 됩니다.
이제 가상 카메라만 준비하면 됩니다!
씬 하이러키 배경을 우클릭하여 [ Cinemachine ] - [ Cinemachine Camera ] 을 선택합니다.
그러면 가상 카메라 오브젝트가 하나 생성될 거예요.
생성된 가상 카메라(CinemachineCamera) 오브젝트를 눌러보면 Cinemachine Camera 컴포넌트가 보입니다.
이제 가상 카메라가 트래킹할 대상 오브젝트(Target)을 정합니다.
PlayerArmature의 PlayerCameraRoot 오브젝트를 Tracking Target에 할당해주세요.
이제 추가한 가상 카메라를 어떻게 제어할 것인지 설정해봅시다.
Position Control을 클릭하여 [ Third Person Follow ] 을 선택하세요.
제어 방식을 선택하면 위처럼 자동으로 제어 모듈이 추가됩니다.
이제 Play 버튼을 눌러 게임을 실행해보세요.
짜잔~ 3인칭 구현이 완료되었습니다!
자동으로 제어 모듈을 추가해주니 간단하지 않나요?
이제는 3인칭 제어 모듈인 Cinemachine Third Person Follow 컴포넌트의 필드에 대해 분석해보겠습니다.
📌 Cinemachine Third Person Follow 컴포넌트 분석하기
Cinemachine Third Person Follow : 3인칭 카메라를 구현하는 시네머신 제어 모듈 컴포넌트입니다.
타겟을 중심으로 고정된 각도로 회전하며 움직이도록 제어합니다.
[ 주요 프로퍼티 ]
① Damping
- 가상 카메라가 타겟을 따라갈 때 얼마나 부드럽게 움직임을 제어할 지에 대한 값입니다.
- (0, 0, 0) 이라면 즉각적인 반응, (x, y, z) 이라면 값에 따라 천천히 반응
② Shoulder Offset
- 가상 카메라가 타겟의 어깨 기준으로 x, y, z 축 위치를 조정하는 값입니다.
- 주로 FPS의 견착 모드일 때 이 값을 조정
③ Vertical Arm Length
- 가상 카메라가 캐릭터 위쪽으로 얼마나 높이 배치될지 조정하는 값입니다.
- 주로 RPG 게임에서 높은 시점으로 주위 배경을 강조할 때 이 값을 조정
④ Camera Side
- 가상 카메라가 타겟의 왼쪽 또는 오른쪽에 얼마나 치우쳐 위치할지를 결정합니다.
- 값이 커질수록 오른쪽 사이드로 이동합니다.
- 주로 왼쪽 또는 오른쪽 사이드의 시점을 번갈아 관리할 때 사용
⑤ Camera Distance
- 카메라와 타겟 간의 거리를 조정하는 값입니다.
- 캐릭터에 집중하거나 주위 환경을 강조할 때 사용
⑥ Avoid Obstacles
- 카메라가 벽이나 장애물에 막히지 않도록 자동으로 조정하는지에 대한 여부입니다.
- 카메라가 벽을 뚧고 나가는 문제를 해결할 때 사용합니다.
📝 정리
오늘은 시네머신(Cinemachine) 패키지를 활용하여 3인칭 시점을 구현해봤습니다.
3인칭 시점에는 Cinemachine Third Person Follow 제어 모듈이 사용되며,
이 모듈의 프로퍼티가 어떤 역할을 하고 언제 사용하는 지에 대해 살펴봤습니다.
'유니티(Unity) > 패키지: Cinemachine 정리' 카테고리의 다른 글
[Cinemachine] 카메라와 오브젝트 충돌 (0) | 2024.12.04 |
---|---|
[Cinemachine] 타겟 기반 시점 구현 (0) | 2024.12.03 |
[Cinemachine] 2.5D 구현 (3D 환경에서 2D 구현) (1) | 2024.12.02 |
[Cinemachine] 시네머신 동작 원리 (2) | 2024.11.30 |
[Cinemachine] 패키지 설치 및 준비 (Unity 6) (0) | 2024.11.28 |