前言:
最近有个项目二期需要做分屏开发,今天恰好研究一下为后续的项目做个准备。
原理
整体的实现还是蛮简单的,主要是通过camera的一个targetDisplay属性进行设置
可以看到unity支持最多八个分屏
实现
场景搭建 ,这里直接使用了之前的一个垃圾场景
场景中一个unity 自带的 main camera,默认的属性也是display1,在项目启动的时候会自动激活
增加第二个项目,设置targetDisplaye属性为Display2,像上图一样,同时创建一个子物体cube
拉动cube的位置,可以看到就行
编辑器预览
如果你是单个屏幕,可以通过在game下切换不同的Display进行选择
发布应用
编辑器预览模式发布之后没办法激活第二个屏幕,需要写一些简单的代码
using UnityEngine;
public class DupScreen: MonoBehaviour
{
private void Awake()
{
Screen.fullScreen = true;
if (Display.displays.Length > 1)
{
Display.displays[1].Activate();
Display.displays[1]
.SetRenderingResolution(Display.displays[1].systemWidth, Display.displays[1].systemHeight);
}
if (Display.displays.Length > 2)
{
Display.displays[2].Activate();
Display.displays[2]
.SetRenderingResolution(Display.displays[2].systemWidth, Display.displays[2].systemHeight);
}
}
}
将上面的脚本任意挂载到一个GameObject上,或者创建一个空物体挂载也行,总之就是在启动的时候能够激活脚本
运行之后会自动在双屏显示