Вот полная версия скрипта, которую вы можете использовать для переключения между камерами
using System.Collections.Generic;
using UnityEngine;
public class CameraSwitch : MonoBehaviour
{
public List<Camera> Cameras;
private void Start()
{
EnableCamera(0);
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.Alpha1))
{
EnableCamera(0);
}
else if (Input.GetKeyDown(KeyCode.Alpha2))
{
EnableCamera(1);
}
else if (Input.GetKeyDown(KeyCode.Alpha3))
{
EnableCamera(2);
}
/*
* If you want to add more cameras, you need to add
* some more 'else if' conditions just like above
*/
}
private void EnableCamera(int n)
{
Cameras.ForEach(cam => cam.enabled = false);
Cameras[n].enabled = true;
}
}
Назовите скрипт CameraSwitch
(полное имя CameraSwitch.cs
), создайте новый GameObject на вашей сцене или используйтесуществующего, добавьте скрипт в GameObject (либо из меню Add Component
, либо просто перетащите скрипт в инспектор вашего GameObject), затем вам нужно развернуть свойство Cameras
, щелкнув по нему в инспекторе,установите номер камеры (Size
) на 3 и свяжите ваши камеры в следующих полях.Сначала установите основную камеру и не оставляйте поле пустым, иначе скрипт не удастся выполнить.
Если вам нужно добавить новую камеру в список, просто добавьте условие else if
помимо существующих и не используйтене забудьте изменить размер своего списка и связать новые камеры в инспекторе.