gpt4 book ai didi

c# - Unity3D:在多个显示器上显示不同的场景

转载 作者:行者123 更新时间:2023-11-30 13:54:42 29 4
gpt4 key购买 nike

Unity3D 在最新版本中具有原生多监视器支持。 API 文档表明这与将每个显示器连接到相机 View 有关。相反,是否可以将显示映射到场景?这样一个拥有两台显示器的用户可以在其中一台显示器上显示两个不同的场景?如果可能的话,人们会怎么做呢?

最佳答案

Display different scenes on multiple monitors?

,你不能。

Display different cameras from the-same scene on multiple monitors?

是! Display类。

事实是您不能同时运行两个不同的场景。你不能。

但是,您可以使用 Application.LoadLevelAdditive(过时的)或 SceneManager.LoadScene("sceneName",LoadSceneMode.Additive); 来扩展当前没有任何内容的场景处理您的要求。

你可以做什么:

相同场景中的不同位置放置多个摄像头,然后将每个摄像头渲染到不同的显示器。

支持的最大显示是8

您可以使用 Display.displays.Length 检查连接的显示器数量。

Display.displays[0] 是主显示器。

Display.displays[1] 下一个显示

Display.displays[2] 下一个显示

Display.displays[3] 另一个下一个显示

调用 Activate 函数来激活显示。

Display.displays[1].Activate();

激活显示时,您还可以提供宽度、高度和刷新率。 (仅适用于 Windows)

int width, height, refreshRate;
width = Screen.width;
height = Screen.height;
refreshRate = 120;
Display.displays[1].Activate(width, height, refreshRate);

在激活显示之前,请确保将显示索引设置为相机。

MyOtherCamera.targetDisplay = 1;//使 MyOtherCamera 显示在第二个显示器上。您现在可以调用 Activate 函数。

假设我们有 4 个摄像头和 4 个显示器,我们想在每个显示器上显示每个摄像头。

Camera[] myCams = new Camera[4];
void Start()
{
//Get Main Camera
myCams[0] = GameObject.FindGameObjectWithTag("MainCamera").GetComponent<Camera>();

//Find All other Cameras
myCams[1] = GameObject.Find("Camera2").GetComponent<Camera>();
myCams[2] = GameObject.Find("Camera3").GetComponent<Camera>();
myCams[3] = GameObject.Find("Camera4").GetComponent<Camera>();

//Call function when new display is connected
Display.onDisplaysUpdated += OnDisplaysUpdated;

//Map each Camera to a Display
mapCameraToDisplay();
}

void mapCameraToDisplay()
{
//Loop over Connected Displays
for (int i = 0; i < Display.displays.Length; i++)
{
myCams[i].targetDisplay = i; //Set the Display in which to render the camera to
Display.displays[i].Activate(); //Enable the display
}
}

void OnDisplaysUpdated()
{
Debug.Log("New Display Connected. Show Display Option Menu....");
}

关于c# - Unity3D:在多个显示器上显示不同的场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39618597/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com