引言
在使用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.打包测试
打包教程就不在这里赘述了
直接看结果