Display.displays.Length 是计数“2”。但是多显示器不起作用
Display.displays.Length is count "2". But multiple monitor doesn't work
我有一些问题。
首先我的电脑环境如下:
- OS: MacOS (Macbook pro 2015)
- Unity3D版本:2019.1.6f1个人版
- 辅助显示器:LG 显示器(这是从 Macbook 连接的 HDMI)
其次,我在下面设置unity项目:
- 显示分辨率对话框:已启用
- 相机(1) 目标显示器:显示器 1
- 相机(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解决
最后,我的问题临时解决方案总结如下:
- 安装 Parallels 应用程序。
- 安装Windows10.
- 创建新的Unity3D项目并添加两个摄像头。
- 设置每个摄像头"Target Display"。
- 创建新的脚本文件并在上面编写源代码。
- 构建 Windows(x86 或 x86_64)
- 运行 和测试
感谢所有试图帮助我的人。
我有一些问题。
首先我的电脑环境如下:
- OS: MacOS (Macbook pro 2015)
- Unity3D版本:2019.1.6f1个人版
- 辅助显示器:LG 显示器(这是从 Macbook 连接的 HDMI)
其次,我在下面设置unity项目:
- 显示分辨率对话框:已启用
- 相机(1) 目标显示器:显示器 1
- 相机(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解决
最后,我的问题临时解决方案总结如下:
- 安装 Parallels 应用程序。
- 安装Windows10.
- 创建新的Unity3D项目并添加两个摄像头。
- 设置每个摄像头"Target Display"。
- 创建新的脚本文件并在上面编写源代码。
- 构建 Windows(x86 或 x86_64)
- 运行 和测试
感谢所有试图帮助我的人。