unity在同屏幕显示多Camera并在脚本中修改Viewport Rece

参考:https://www.it610.com/article/1305219586412548096.htm
参考:https://www.zhihu.com/question/41879088?sort=created

修改Camera的Viewport Rect即可
在这里插入图片描述
通过脚本修改,在绑定的CameraController中改

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

public class CameraController : MonoBehaviour {

    private Camera camera_Main;
    private GameObject camera_1;
    private GameObject camera_2;
    private GameObject camera_3;
    void Start()
    {
        camera_Main = transform.Find("Main Camera").GetComponent<Camera>();
        camera_1 = GameObject.Find("Camera1");
        camera_1.SetActive(true);
        camera_2 = GameObject.Find("Camera2");
        camera_2.SetActive(true);
        camera_3 = GameObject.Find("Camera3");
        camera_3.SetActive(true);


        camera_Main.rect = new Rect(camera_Main.rect.x, camera_Main.rect.y, 0.8f, 0.5f);
        //Camera mainCamera = Camera.main;
        //mainCamera.rect = new Rect(mainCamera.rect.x, mainCamera.rect.y, mainCamera.pixelWidth, 0.5f);
    }

    // Update is called once per frame 
    void Update()
    {
        if (Input.GetKey(KeyCode.Alpha1))
        {
            //camera_Main.SetActive(true);
            camera_1.SetActive(false);
            camera_2.SetActive(false);
            camera_3.SetActive(false);
        }
        if (Input.GetKey(KeyCode.Alpha2))
        {
            //camera_Main.SetActive(false);
            camera_1.SetActive(true);
            camera_2.SetActive(false);
            camera_3.SetActive(false);
        }
        if (Input.GetKey(KeyCode.Alpha3))
        {
            //camera_Main.SetActive(false);
            camera_1.SetActive(false);
            camera_2.SetActive(true);
            camera_3.SetActive(false);
        }
        if (Input.GetKey(KeyCode.Alpha4))
        {
            //camera_Main.SetActive(false);
            camera_1.SetActive(false);
            camera_2.SetActive(false);
            camera_3.SetActive(true);
        }
    } 
}

效果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值