一台主機多開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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM