2-1. 메인카메라의 시네머신 브레인에서 Default Blend 속성을 Ease In Out에서 몇초만에 이동할지 조절한다. (부드러운 화면 전환)
3. 코드로 가상 카메라의 오브젝트를 비활성화 하거나, 우선순위를 바꾼다.
- 예시 코드
using UnityEngine;
using Cinemachine;
public class CameraSwitcher : MonoBehaviour
{
public CinemachineVirtualCamera cam1;
public CinemachineVirtualCamera cam2;
private void Update()
{
// 우선순위 변경을 통해 카메라 전환
if (Input.GetKeyDown(KeyCode.Alpha1))
{
cam1.Priority = 12;
cam2.Priority = 11;
}
else if (Input.GetKeyDown(KeyCode.Alpha2))
{
cam1.Priority = 11;
cam2.Priority = 12;
}
// 카메라 활성화/비활성화로 전환
if (Input.GetKeyDown(KeyCode.Alpha3))
{
cam1.gameObject.SetActive(false);
cam2.gameObject.SetActive(true);
}
else if (Input.GetKeyDown(KeyCode.Alpha4))
{
cam1.gameObject.SetActive(true);
cam2.gameObject.SetActive(false);
}
}
}
CinemachineVirtualCamera 인스펙터 속성
1. Name and Tag
Name: 가상 카메라의 이름입니다.
Tag: 게임 오브젝트 태그입니다.
2. Status
Status: 가상 카메라의 현재 상태를 표시합니다. 활성화 여부와 함께 현재 가상 카메라가 어떤 상태인지 보여줍니다.
3. Priority
Priority: 가상 카메라의 우선 순위를 결정합니다. 높은 우선 순위를 가진 카메라가 활성 카메라가 됩니다. 같은 우선 순위의 카메라가 여러 개 있을 경우, 가장 최근에 활성화된 카메라가 선택됩니다.
4. Standby Update
Standby Update: 가상 카메라가 비활성화 상태일 때 업데이트 방식을 설정합니다.
Always: 항상 업데이트합니다.
Never: 업데이트하지 않습니다.
5. Aim
Aim: 카메라가 피사체를 어떻게 조준하는지를 설정합니다.
Do Nothing: 카메라의 조준을 제어하지 않습니다.
Hard Look At: 특정 타겟을 강하게 바라봅니다.
Composer: 타겟을 프레임 안에 넣도록 카메라의 위치와 회전을 조절합니다.
Group Composer: 여러 타겟을 프레임 안에 넣도록 조절합니다.
6. Body
Body: 카메라의 위치와 이동 방식을 설정합니다.
Do Nothing: 카메라의 위치를 제어하지 않습니다.
Transposer: 카메라가 타겟을 따라가도록 설정합니다.
Framing Transposer: 타겟을 프레임 안에 유지하도록 조절합니다.
Orbital Transposer: 타겟 주위를 공전하는 방식으로 이동합니다.
Tracked Dolly: 레일 위에서 움직이는 카메라를 설정합니다.
7. Lens
Lens: 카메라 렌즈 속성을 설정합니다.
Field of View (FOV): 카메라의 시야각을 설정합니다. (퍼스펙티브 모드)
Orthographic Size: 카메라의 직교 크기를 설정합니다. (직교 모드)
Near Clip Plane: 렌즈의 근접 절단면을 설정합니다.
Far Clip Plane: 렌즈의 원거리 절단면을 설정합니다.
Dutch: 카메라의 기울기를 설정합니다.
8. Extensions
Extensions: 추가적인 기능을 제공하는 확장들을 설정합니다. 예를 들어, CinemachineCollider와 같은 확장을 추가하여 카메라 충돌 처리를 할 수 있습니다.
각 Aim 모드 상세 설명
1. Composer
Tracked Object Offset: 타겟 오브젝트로부터의 오프셋을 설정합니다.
Lookahead Time: 타겟의 움직임을 예측하는 시간입니다.
Lookahead Smoothing: 움직임 예측의 부드러움을 설정합니다.
Damping: 카메라 움직임의 감쇠를 설정합니다.
Screen X/Y: 화면에서 타겟의 위치를 설정합니다.
Dead Zone Width/Height: 타겟이 움직여도 카메라가 따라가지 않는 영역을 설정합니다.
Soft Zone Width/Height: 타겟이 움직이면 카메라가 천천히 따라가는 영역을 설정합니다.
2. Group Composer
Group Framing Size: 그룹의 크기에 따라 카메라가 어떻게 반응할지 설정합니다.
Framing Mode: 카메라가 그룹을 어떻게 프레임에 맞출지 설정합니다.
Adjustment Mode: 카메라가 그룹을 프레임에 맞추기 위해 조정하는 방식을 설정합니다.
Minimum FOV: 최소 시야각을 설정합니다.
Maximum FOV: 최대 시야각을 설정합니다.
각 Body 모드 상세 설명
1. Transposer
Binding Mode: 타겟과 카메라의 상대적 위치를 설정합니다.
Follow Offset: 타겟을 기준으로 카메라의 위치 오프셋을 설정합니다.
Damping: 카메라 움직임의 감쇠를 설정합니다.
2. Framing Transposer
Group Framing Size: 그룹의 크기에 따라 카메라가 어떻게 반응할지 설정합니다.
Damping: 카메라 움직임의 감쇠를 설정합니다.
Screen X/Y: 화면에서 타겟의 위치를 설정합니다.
Dead Zone Width/Height: 타겟이 움직여도 카메라가 따라가지 않는 영역을 설정합니다.
Soft Zone Width/Height: 타겟이 움직이면 카메라가 천천히 따라가는 영역을 설정합니다.
3. Orbital Transposer
Binding Mode: 타겟과 카메라의 상대적 위치를 설정합니다.
Follow Offset: 타겟을 기준으로 카메라의 위치 오프셋을 설정합니다.
X Axis: 카메라의 수평 회전을 설정합니다.
Y Axis: 카메라의 수직 회전을 설정합니다.
Z Axis: 카메라의 거리 조정을 설정합니다.
Damping: 카메라 움직임의 감쇠를 설정합니다.
4. Tracked Dolly
Path: 카메라가 따라갈 경로를 설정합니다.
Path Position: 경로에서의 위치를 설정합니다.
Position Units: 경로의 위치 단위를 설정합니다.
Camera Up: 카메라의 상단 방향을 설정합니다.
Auto Dolly: 타겟의 움직임에 따라 카메라가 자동으로 경로를 따라가도록 설정합니다.
확장(Extensions) 상세 설명
1. Cinemachine Collider
Avoid Obstacles: 카메라가 장애물을 피하도록 설정합니다.
Distance Limit: 카메라와 타겟 간의 최대 거리를 설정합니다.
Minimum Distance From Target: 타겟으로부터의 최소 거리를 설정합니다.