2024-09-23 06:14:37
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraChange : MonoBehaviour
{
[Header("第一个摄像机")]
public GameObject m_FirstCamera;
[Header("第二个摄像机")]
public GameObject m_SecondCamera;
[Header("HZ")]
public float m_HZNum; //HZ
private float m_waitTime;
void Start()
{
if (m_FirstCamera == null)
{
Debug.LogError("缺少第一个摄像机");
}
if (m_SecondCamera == null)
{
Debug.LogError("缺少第二个摄像机");
}
if (m_HZNum <= 0)
{
Debug.LogError("HZ数不能小于等于0");
}
m_waitTime = 1 / m_HZNum;
m_FirstCamera.SetActive(true);
m_SecondCamera.SetActive(false);
//想在什么地方开始切换,就在什么地方开始下面的协成
StartCoroutine(ChangeCamera());
}
IEnumerator ChangeCamera()
{
//如果想要关闭,就将true变成一个可控的bool值,什么时候想关闭,就将bool值换成false。
while (true)
{
yield return new WaitForSeconds(m_waitTime);
//频繁切换活跃不是很好,你也可以改成自己的改变摄像机的方法,或者改摄像机的ViewPort Rect也可以
m_FirstCamera.SetActive(!m_FirstCamera.activeSelf);
m_SecondCamera.SetActive(!m_SecondCamera.activeSelf);
}
}
}
场景中建一个空物体,然后挂载这个脚本,把两个照相机拖进去,然后再给设置HZ数。
而且太快太快的话,可能也不行。
2024-09-23 09:53:30