본문 바로가기
개발/Unity

(12) ClearShot이 불가능한 경우 FreeLook으로 전환하기 - 유니티 시네머신 튜토리얼

by 피로물든딸기 2022. 9. 23.
반응형

Unity 전체 링크

 

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:

 

Easy 2D, 3D, VR, & AR software for cross-platform development of games and mobile apps. - Unity Store

Have a 2D, 3D, VR, or AR project that needs cross-platform functionality? We can help. Take a look at the easy-to-use Unity Plus real-time dev platform!

store.unity.com

 

Unity Pro:

 

Unity Pro

The complete solutions for professionals to create and operate.

unity.com

 

Unity 프리미엄 학습:

 

Unity Learn

Advance your Unity skills with live sessions and over 750 hours of on-demand learning content designed for creators at every skill level.

unity.com

반응형

댓글