一台主机多开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程序,显示在多个显示器上的主要内容,如果未能解决你的问题,请参考以下文章
什么操作系统可以多个用户同时使用,就是一台主机 多个显示器、外设。能让多个人同时独立的操作计算机