Display.displays.Length 是计数“2”。但是多显示器不起作用

Display.displays.Length is count "2". But multiple monitor doesn't work

我有一些问题。

首先我的电脑环境如下:

  1. OS: MacOS (Macbook pro 2015)
  2. Unity3D版本:2019.1.6f1个人版
  3. 辅助显示器:LG 显示器(这是从 Macbook 连接的 HDMI)

其次,我在下面设置unity项目:

  1. 显示分辨率对话框:已启用
  2. 相机(1) 目标显示器:显示器 1
  3. 相机(2) 目标显示器:显示器 2

第三,我在下面写了一些代码:

using UnityEngine;
using UnityEngine.UI;

public class DualMonitor : MonoBehaviour {
       public Camera camera1, camera2;
       public Text myText;

       void Start() {
            for (int i = 0; i < Display.displays.Length; i++) {
               Display.displays[i].Activate(Display.displays[i].systemWidth, Display.displays[i].systemHeight, 60);
            }

            // if (Display.displays.Length > 1)
            //    Display.displays[1].Activate(Display.displays[1].systemWidth, Display.displays[1].systemHeight, 60);

            myText.text = (Display.displays.Length).ToString();
            Debug.Log("Display connected: " + Display.displays.Length);
       }
}

所以,我已经在我的计算机中构建并 运行。 "Display.displays.Length" 文本值为“2”。

显示了我的 macbook 显示器,但我的辅助显示器(LG 显示器)没有显示任何内容。我不知道。

[我的 macbook 显示器]

[LG显示器显示]

只有显示器壁纸可见。

这个问题怎么解决..?

准确地说,我想知道 运行 在 Mac OS 上的表现如何。 (我确认在WindowsOS中正常运行s。)

如果你告诉我,我将不胜感激。

此致。

每个屏幕都需要有自己的摄像头,在摄像头设置中你可以设置它渲染到哪个屏幕

所以在你的情况下,你需要 2 个摄像头。带有目标显示器 1 的相机 1 和带有目标显示器 2 的相机 2

这个问题我没解决好。但是我有另一个解决这个问题的方法。

我在 Parallels 中使用了 Windows 10。 Parallels 是 Mac OS 虚拟化应用程序。

所以,我上面的源代码运行良好,并且执行了双监视器功能。

我还没有找到原始问题的解决方案。我会找到原始问题的解决方案。也许我找到了一些资料,我会post新post解决

最后,我的问题临时解决方案总结如下:

  1. 安装 Parallels 应用程序。
  2. 安装Windows10.
  3. 创建新的Unity3D项目并添加两个摄像头。
  4. 设置每个摄像头"Target Display"。
  5. 创建新的脚本文件并在上面编写源代码。
  6. 构建 Windows(x86 或 x86_64)
  7. 运行 和测试

感谢所有试图帮助我的人。