当前位置 : 主页 > 网络编程 > c#编程 >

Unity多屏幕设置的具体方案

来源:互联网 收集:自由互联 发布时间:2023-01-31
最近制作了一个多屏幕的项目,多屏幕指的是一个电脑主机,连接多个显示器。我这个项目使用了一个显卡连接了三个显示设备。Unity UGUI提供Canvas画布,在画布上有一个TargetDisplay的解

最近制作了一个多屏幕的项目,多屏幕指的是一个电脑主机,连接多个显示器。我这个项目使用了一个显卡连接了三个显示设备。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画布层不对设置一下。

2、一定不要忘记Display.displays[1].Activate,你可以把它放到任意一个物体上,如果你得屏幕数是固定你可以写死,如果这里出现问题就会出现其他屏幕黑屏无法显示。开始以为黑屏和分辨率有关系还是这个Activte没有激活,或者多次激活了。

目前就遇到这两个问题,单纯这一个小项目,做个笔记记录一下问题,之后在遇到就比较轻松解决了。

到此这篇关于Unity多屏幕设置的具体方案的文章就介绍到这了,更多相关Unity多屏幕内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

上一篇:C#文件非占用读取与帮助类FileHelper
下一篇:没有了
网友评论