Cinemachine Tutorial
- (11) ClearShot Camera로 충돌을 감지하여 카메라 전환하기
- (12) ClearShot이 불가능한 경우 FreeLook으로 전환하기 (Change View with ClearShot + FreeLook Camera)
- (13) Dolly Camera로 Track을 따라 촬영하기
클리어샷 카메라로 Target을 적절한 가상 카메라를 보여주지만, 모든 화면에 카메라를 설치할 수는 없다.
따라서 적절한 카메라가 없는 경우는 FreeLook 카메라로 전환하여 Player를 따라다니도록 하자.
이전 글에서 설정한 vCam3는 삭제하고 프리룩 카메라를 추가하자.
FreeLook 카메라의 Follow와 Look At을 설정한다.
그리고 FreeLook 카메라를 컨트롤하기 위해 CMFreelookSetting.cs를 추가한다.
CMFreelookSetting.cs는 다음과 같다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Cinemachine;
public class CMFreelookSetting : MonoBehaviour
{
CinemachineFreeLook freeLook;
public float scrollSpeed = 2000.0f;
void Awake()
{
CinemachineCore.GetInputAxis = clickControl;
}
void Start()
{
freeLook = this.GetComponent<CinemachineFreeLook>();
}
public float clickControl(string axis)
{
float scroollWheel = Input.GetAxis("Mouse ScrollWheel");
freeLook.m_Lens.FieldOfView += scroollWheel * Time.deltaTime * scrollSpeed;
if (Input.GetMouseButton(0))
return UnityEngine.Input.GetAxis(axis);
return 0;
}
}
이제 FreeLook 카메라를 ClearShot의 자식으로 설정한다.
ClearShot 인스펙터 창에 가면 FreeLook 카메라는 경고 표시가 나타난다.
ClearShot은 충돌을 감지해야하기 때문에 FreeLook 카메라에 Cinemachine Collider를 추가해야 한다.
FreeLook 카메라의 Inspector 창 아래로 내려가서 Add Extension에서 콜라이더를 추가한다.
이제 게임을 실행해보자.
건물 내부로 들어가면 FreeLook 카메라로 변경된다.
하지만 위치가 변경되어도 FreeLook 카메라로 유지되고 있다.
원래대로 복구하고 싶다면 ClearShot 카메라의 인스펙터창에서 우선순위를 수정하면 된다.
세 개의 카메라가 모두 가능하다면 vCam1로 전환되도록 하였다.
이제 여러 카메라가 가능한 경우 우선순위가 높은 vCam1으로 전환된다.
Unity Plus:
Unity Pro:
Unity 프리미엄 학습:
'개발 > Unity' 카테고리의 다른 글
유니티 시네머신 - 두 대 이상의 카메라로 화면 비교하기 (How To Compare Scene using Two Camera with Cinemachine Brain) (0) | 2022.09.24 |
---|---|
(13) Dolly Track으로 카메라 촬영 경로 조절하기 - 유니티 시네머신 튜토리얼 (1) | 2022.09.24 |
(11) ClearShot Camera로 충돌을 감지하여 카메라 전환하기 - 유니티 시네머신 튜토리얼 (0) | 2022.09.22 |
(10) 스크립트로 State Driven Camera 제어하기 - 유니티 시네머신 튜토리얼 (1) | 2022.09.21 |
(9) State Driven Camera로 애니메이션의 상태에 따라 화면 전환하기 - 유니티 시네머신 튜토리얼 (0) | 2022.09.20 |
댓글