使用多显示功能可以同时在最多八台不同的监视器上显示应用程序的最多八个不同摄像机视图。此功能可用于 PC 游戏、街机游戏机或公共显示装置等设施。
Unity 在以下平台上支持多显示功能:
某些功能仅适用于某些平台。请参阅 Display、Screen 和 FullScreenMode API 以了解有关兼容性的更多信息。
Unity 的默认显示模式仅为一台监视器。在运行应用程序时,需要使用 Display.Activate() 显式激活其他显示。激活的显示不能停用。
激活额外显示的最佳时间是在应用程序创建新场景时。执行此操作的一种好方法是将脚本组件附加到默认的摄像机。确保仅在启动过程中调用一次 Display.Activate()。一般情况下,创建一个小的初始场景来测试脚本可能会很有帮助。
using UnityEngine;
using System.Collections;
public class ActivateAllDisplays : MonoBehaviour
{
void Start ()
{
Debug.Log ("displays connected: " + Display.displays.Length);
// Display.displays[0] is the primary, default display and is always ON, so start at index 1.
// Check if additional displays are available and activate each.
for (int i = 1; i < Display.displays.Length; i++)
{
Display.displays[i].Activate();
}
}
void Update()
{
}
}
要预览不同的摄像机视图,请按照以下步骤操作:
确保当前处于游戏视图中。
从左上角的__显示 (Display)__ 菜单中,选择要预览的_显示 (Display)_ 选项。
Unity 支持以下 UnityEngine.Display API 方法:
| 方法 | 描述 |
|---|---|
public void Activate() |
根据当前监视器的宽度和高度激活具体显示。必须在启动新场景时进行一次此调用。可从新场景中的__摄像机__或虚拟__游戏对象__附加的用户脚本进行此调用。 |
public void Activate(int width, int height, int refreshRate) |
仅限 Windows。激活自定义宽度和高度的特定显示。在 Linux 和 macOS X 上,辅助显示上始终使用当前显示分辨率(如果可用)。 |