一台主机多开Unity程序,显示在多个显示器上

Posted Ahren_Li

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一台主机多开Unity程序,显示在多个显示器上相关的知识,希望对你有一定的参考价值。

记录一个坑。

最近项目需要,一台主机带多台显示器,然后运行多个Unity程序。

1.连接显示器,设置为扩展模式。

2.编写代码,

using UnityEngine;
public class MyDisplay : MonoBehaviour
{

    [SerializeField]
    public int displayIndex;        //显示器编号
    void Awake()
    {
        if (Display.displays.Length > 1)
        {
            Display.displays[displayIndex].Activate(0, 0, 60);
        }
        Screen.SetResolution(Screen.width, Screen.height, true);
    }
}

3.将代码挂在相机上面,依次设置显示器编号。

4.关键一步,将Camera的Target Display、Game窗口的左上角的Display,如果有Canvas ,那么把他们三个的Display都设置为对应的显示器

5.在PlayerSetting,Resolution and Presentation中的Display Resolution Dialog设置为 Disabled.

6.打包出来。

7.写一个延时启动的VBS脚本,将需要启动的程序放里面。保存,双击执行,没有错误就会执行相应的程序。

Dim delayer
Set delayer = CreateObject("WScript.Shell")
WScript.sleep 10000    //延时时间
delayer.Run "C:\Users\AhrenLi\Desktop\ShowPhotos5.exe"    //程序路径,不要有空格
WScript.sleep 10000
delayer.Run "C:\Users\AhrenLi\Desktop\ShowPhotos4.exe"
WScript.sleep 10000
delayer.Run "C:\Users\AhrenLi\Desktop\ShowPhotos3.exe"
WScript.sleep 10000
delayer.Run "C:\Users\AhrenLi\Desktop\ShowPhotos2.exe"
WScript.sleep 10000
delayer.Run "C:\Users\AhrenLi\Desktop\ShowPhotos1.exe"
Set delayer = Nothing
WScript.quit

  

以上是关于一台主机多开Unity程序,显示在多个显示器上的主要内容,如果未能解决你的问题,请参考以下文章

如何一台主机多人用?

一台主机两个人用可以吗

什么操作系统可以多个用户同时使用,就是一台主机 多个显示器、外设。能让多个人同时独立的操作计算机

一台电脑主机能同时使用两个显示器吗

Unity3D 使用Socket处理数据并将数据 在UGUINGUI上显示出来

unity发布安卓版本怎样设置分辨率?