【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来实现.

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

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

csharp 复制代码
  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);
        }

    }

7.打包测试

打包教程就不在这里赘述了

直接看结果

相关推荐
天人合一peng4 小时前
unity 生成标记根据背景色标记变色
unity·游戏引擎
天人合一peng8 小时前
unity 生成标记根据背景色变色为明显的颜色
unity·游戏引擎
魔士于安8 小时前
Unity 超市总动员 超市收银台 超市货架 超市购物手推车 超市常见商品
游戏·unity·游戏引擎·贴图·模型
CandyU28 小时前
Unity —— 数据持久化
unity·游戏引擎
zh路西法8 小时前
【Unity实现Oneshot胶卷显形】游戏窗口化与Win32API的使用
游戏·unity·游戏引擎
迪捷软件9 小时前
显控系统虚拟仿真的工程化路径
游戏引擎·cocos2d
凡情13 小时前
android隐私合规检测
android·unity
小贺儿开发13 小时前
Unity3D 本地 Stable Diffusion 文生图效果演示
人工智能·unity·stable diffusion·文生图·ai绘画·本地化
Swift社区14 小时前
传统游戏引擎 vs 鸿蒙 System 架构
架构·游戏引擎·harmonyos
mxwin1 天前
Unity Shader 半透明物体为什么不能写入深度缓冲?
unity·游戏引擎·shader