在某些应用场景,一个应用可能需要使用多个显示器显示。
Unity
支持最多8个不同显示器同时显示应用程序中八个摄像头的视图,如下图:
具体实现如下:
1、在Hiearchy
面板上点击鼠标右键->Camera
,创建多一个Camera
,如图:
2、其中场景中的默认摄像头Main Camera
中的Target Display
配置保持默认,如图:
新建的Camera
则配置为Diapaly 2
,如图:
如需更多显示视图,则逐个增加Camera
并把Target Display
配置为Display 3
、Display 4
…
3、内容创作,3D物体分别根据需要拉到相应显示摄像头之下。2D内容则可通过设置Canvas,使不同内容显示在对应摄像头之下,如图:
4、创建控制脚本:MultilDiaplayController.cs。通过代码激活除了第一个摄像头之外的摄像头。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MultilDiaplayController : MonoBehaviour
{
// Start is called before the first frame update
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();
}
}
// Update is called once per frame
void Update()
{
}
}
5、把脚本拉到场景中。
6、打包运行。