본문 바로가기
개발/Unity

(8) 우선순위를 설정해서 카메라 전환하기 - 유니티 시네머신 튜토리얼

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

Unity 전체 링크

Cinemachine Tutorial

- (7) Blend List Camera 속성 및 설정 제어하기
- (8) 우선순위를 설정해서 카메라 전환하기 (Setting Priority For Cinemachine Camera View)
- (9) 애니메이션의 상태에 따라 화면 전환하기

깃허브에서 코드 확인하기


Blend List 카메라를 이용해서 카메라를 전환할 수 있지만,
기본적으로 여러 대의 Virtual Camera에는 각각 우선순위가 존재한다.


가상 카메라의 우선순위를 높게 변경하면, 우선순위가 높은 카메라로 뷰가 바뀐다.

Virtual / Blend List / FreeLook 카메라를 추가해서 적절히 배치하자.


그리고 버튼을 3개 만들어서 아래와 같이 만들자.


PrioritySetting.cs를 적절한 오브젝트(=Canvas)에 추가하자.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Cinemachine;

public class PrioritySetting : MonoBehaviour
{
    public CinemachineVirtualCamera vCam;
    public CinemachineBlendListCamera blendListCam;
    public CinemachineFreeLook freeLookCam;

    public void buttonVirtual()
    {
        vCam.Priority = 11;
        blendListCam.Priority = 10;
        freeLookCam.Priority = 10;
    }

    public void buttonBlendList()
    {
        vCam.Priority = 10;
        blendListCam.Priority = 11;
        freeLookCam.Priority = 10;
    }

    public void buttonFreeLook()
    {
        vCam.Priority = 10;
        blendListCam.Priority = 10;
        freeLookCam.Priority = 11;
    }
}

 

하지만 모두 같은 우선순위에서 하나의 카메라의 우선순위만 높여야하는 경우라면, 

MoveToTopOfPrioritySubqueue() 메서드를 사용하면 편리하다.

아래의 코드는 위의 코드와 완전히 동일하게 동작하지만, 우선순위의 값을 변경시키지 않는다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Cinemachine;

public class PrioritySetting : MonoBehaviour
{
    public CinemachineVirtualCamera vCam;
    public CinemachineBlendListCamera blendListCam;
    public CinemachineFreeLook freeLookCam;

    public void buttonVirtual()
    {
        vCam.MoveToTopOfPrioritySubqueue();
    }

    public void buttonBlendList()
    {
        blendListCam.MoveToTopOfPrioritySubqueue();
    }

    public void buttonFreeLook()
    {
        freeLookCam.MoveToTopOfPrioritySubqueue();
    }
}


이제 public 변수에 각 카메라를 할당하자.


세 개의 버튼에 각각 알맞은 함수를 OnClick에 추가하자.


우선순위가 변경됨에 따라 카메라가 전환된다.


Blend List 카메라의 경우 뷰가 변경되면 설정한 블렌딩이 실행된다.


그리고 각 카메라의 전환은 Brain 카메라의 Default Blend에 의해 정해진다.

 

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

반응형

댓글