unity3d中多个摄像机切换代码

unity3d中多个摄像机切换代码

   脚本代码将依据按下的键盘上的 1、2 和 3决定启用对应摄像机的AudioListener 和 camera 组件,
   禁用其余两部摄像机的 AudioListener 和 camera 组件,因此看到不同的视图。

1、新建多个摄像机(不同位置)。

2、创建一个空物体挂上我们新建的脚本Camera Switch用来控制摄像机的切换。

3、Caneras中,Size为摄像机总数,将建立好的摄像机分别拖拽到Element中,Shotcuts中,Size为按钮控制相机的总数,1、2、3分别表示利用数字键控制显示Camera1、Camera2、Camera3。在这里插入图片描述

代码如下(示例):

using UnityEngine;
using System.Collections;

public class Camera Switch: MonoBehaviour
{

    public GameObject[] cameras;
    public string[] shotcuts;
    public bool changeAudioListener = true;

    void Update()
    {
        int i = 0;
        for (i = 0; i < cameras.Length; i++)
        {
            if (Input.GetKeyUp(shotcuts[i]))
                SwitchCamera(i);
        }
    }

    void SwitchCamera(int index)
    {
        int i = 0;
        for (i = 0; i < cameras.Length; i++)
        {
            if (i != index)
            {
                if (changeAudioListener)
                {
                    cameras[i].GetComponent<AudioListener>().enabled = false;
                }
                cameras[i].GetComponent<Camera>().enabled = false;
            }
            else
            {
                if (changeAudioListener)
                {
                    cameras[i].GetComponent<AudioListener>().enabled = true;
                }
                cameras[i].GetComponent<Camera>().enabled = true;
            }
        }
    }
}

注意:文件名为 Camera Switch

       自己可以修改文件名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Forever-淡墨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值