• 【Unity】使用Unity实现双屏显示


    引言

    在使用Unity的时候,有时候会需要使用双屏显示
    简单来说就是需要在两个显示器中显示游戏画面
    双屏显示注意点:
    ①双屏显示需要电脑有两个显示
    ②双屏显示只能用于PC端
    ③不仅仅可以双屏,Unity最大支持8屏显示

    1.相机设置

    ①我们打开Unity后,新建一个Scene场景
    ②在场景中新添加一个Camera1,然后新添加的Camera1属性面板中Target Display设置为Display1(默认为Display1)
    ③在场景中新添加一个Camera2,然后新添加的Camera属性面板中Target Display设置为Display2

    Display 1:在屏幕1显示
    Display 2:在屏幕2显示
    在这里插入图片描述

    2.新建一个Canvas1

    新建一个画布Canvas1,设置Target Display为Display 1
    随便加一个Text组件或者Button组件,不需要另外的设置
    在这里插入图片描述

    3.建一个简单测试场景

    然后在场景中随便创建几个几何体,调整一下摄像机的位置和游戏物体的位置

    主要用于区分双屏显示
    在这里插入图片描述

    4.新建一个Canvas2

    新建一个画布Canvas2,设置Target Display为Display 2
    然后拼一个简单的UI,不需要另外的设置
    在这里插入图片描述

    5.屏幕切换

    在Game视图中,可以切换屏幕,切换屏幕后,只能看到当前屏幕里的资源
    在这里插入图片描述
    但是在Scene视图是可以看见所有屏幕的资源。
    在这里插入图片描述

    6.脚本

    默认情况下,只有一个显示器,所以当程序运行的时候,需要激活额外的显示器

    可以通过代码 Display.Activate来实现.

    需要注意的是,只需要激活一次,一旦激活了,就不能关闭激活状态。

    在游戏启动逻辑里添加如下激活代码即可

      void Start()
        {
            //循环遍历存在的所有屏幕
            for (int i = 0; i < Display.displays.Length; i++)
            {
                //开启存在的屏幕显示,激活显示器
                Display.displays[i].Activate();
                Screen.SetResolution(Display.displays[i].renderingWidth, Display.displays[i].renderingHeight, true);
            }
    
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    7.打包测试

    打包教程就不在这里赘述了
    直接看结果
    在这里插入图片描述

  • 相关阅读:
    关于 Vue 中 h() 函数的一些东西
    Docker容器技术
    高防CDN:护航网络安全的卓越之选
    备忘 | 常用工具
    Linux Chrome无法启动的原因(适用于Linux Edge)
    4 Paimon数据湖之Hive Catalog的使用
    数据库事务——事务隔离级别
    v-model和.sync区别
    vue做无缝滚动
    演练 成员内部类
  • 原文地址:https://blog.csdn.net/qq_30144243/article/details/136363820