모바일 환경에서는 메모리와 성능 관리가 중요하기 때문에, 가상 카메라의 우선순위를 변경하는 방법이 더 적합합니다.
@ 마우스 오른쪽 버튼을 누르고 있을때 카메라 이동하는 방법 ( 계속 누르고 있어야 함 )
public CinemachineVirtualCamera virtualCamera; // 줌인 할 카메라
void Update()
{
MouseClick();
}
private void MouseClick()
{
if (Input.GetMouseButton(1))
{
virtualCamera.Priority = 16;
}
else
{
virtualCamera.Priority = 14;
}
}
위의 방법은 가상 카메라 1과 가상카메라 2가 있을때 카메라1의 우선순위는 15로 해놓은 상태로 가상카메라 2의 우선순위를 변경하는 방법.
@ 가상 카메라 오브젝트를 활성화 / 비활성화 하는 방법도 있다.
using UnityEngine;
using Cinemachine;
public class CameraToggle : MonoBehaviour
{
public CinemachineVirtualCamera virtualCamera1; // 첫 번째 가상 카메라
public CinemachineVirtualCamera virtualCamera2; // 두 번째 가상 카메라
void Update()
{
MouseClick();
}
private void MouseClick()
{
if (Input.GetMouseButton(1)) // 오른쪽 마우스 버튼이 눌렸을 때
{
virtualCamera1.gameObject.SetActive(false); // 첫 번째 가상 카메라 비활성화
virtualCamera2.gameObject.SetActive(true); // 두 번째 가상 카메라 활성화
Debug.Log("Right mouse button is being held down");
}
else
{
virtualCamera1.gameObject.SetActive(true); // 첫 번째 가상 카메라 활성화
virtualCamera2.gameObject.SetActive(false); // 두 번째 가상 카메라 비활성화
Debug.Log("Right mouse button is not being held down");
}
}
}
2개를 껏다 켰다 해도 되고, 1개를 고정적으로 켜놓고 우선순위 높은 카메라 1개만 활성화, 비활성화 해도 된다.