C# 统一透明全屏多屏

C# 统一透明全屏多屏,c#,unity3d,user32,C#,Unity3d,User32,我发现: 基本上,它是关于在Unity中创建一个透明的全屏窗口。它工作得很好,但我真的很想在多个屏幕上使用它。当我尝试这样做时,背景不再是透明的 在我的第一次尝试中,我制作了第二台相机,附带了下面的脚本。这是行不通的。然后我尝试将透明脚本附加到第二台相机上,但即使如此,主屏幕还是有白色背景,第二台有黑色背景。我很确定这和窗口处理程序有关。在透明脚本中,全屏窗口以以下处理程序属性开始: const int GWL_STYLE = -16; const uint WS_POPUP = 0x80000

我发现:

基本上,它是关于在Unity中创建一个透明的全屏窗口。它工作得很好,但我真的很想在多个屏幕上使用它。当我尝试这样做时,背景不再是透明的

在我的第一次尝试中,我制作了第二台相机,附带了下面的脚本。这是行不通的。然后我尝试将透明脚本附加到第二台相机上,但即使如此,主屏幕还是有白色背景,第二台有黑色背景。我很确定这和窗口处理程序有关。在透明脚本中,全屏窗口以以下处理程序属性开始:

const int GWL_STYLE = -16;
const uint WS_POPUP = 0x80000000;
const uint WS_VISIBLE = 0x10000000;
const int HWND_TOPMOST = -1;
我不知道如何将这些应用于第二个全屏窗口

Camera[]myCams=新摄像机[3];
void Start()
{
//获取主摄像机
myCams[0]=GameObject.FindGameObjectWithTag(“MainCamera”).GetComponent();
//找到所有其他摄像机
myCams[1]=GameObject.Find(“Camera2”).GetComponent();
myCams[2]=GameObject.Find(“Camera3”).GetComponent();
//连接新显示器时调用函数
Display.onDisplaysUpdated+=onDisplaysUpdated;
//将每个摄影机映射到显示器
mapCameraToDisplay();
}
void mapCameraToDisplay()
{
//循环连接显示器
对于(int i=0;i