最近制作了一个多屏幕的项目,多屏幕指的是一个电脑主机,连接多个显示器。我这个项目使用了一个显卡连接了三个显示设备。Unity UGUI提供Canvas画布,在画布上有一个TargetDisplay的解决解决方案。
Canvas结合Camera就可以实现多屏显示。
多屏还需要一个Display.displays[1].Activate屏幕激活。
public class DisplayScreen : MonoBehaviour
{
void Awake()
{
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、你有两个或者多个屏幕你就需要添加多个canvas画布,canvas有一个SortOrder的属性深度,前后的意思,数值越大越靠前,如果你添加了多个层,display场景一中按钮无法点击可能就是camvas画布层不对设置一下。