提供对显示器/屏幕的访问以进行渲染操作。
Unity 支持在以下平台上进行多显示器渲染
Display 类中的某些功能仅在某些支持的平台上有效。有关平台兼容性的更多信息,请参阅属性和方法。
使用 Display 类对显示器本身进行操作,并使用 Camera.targetDisplay 设置相机以渲染到各个显示器。
其他资源:Camera.targetDisplay、Canvas.targetDisplay。
using UnityEngine;
public class Example : MonoBehaviour { Camera extCam; Camera cam;
void Start() { // GUI is rendered with last camera. // As we want it to end up in the main screen, make sure main camera is the last one drawn. extCam.depth = cam.depth - 1;
cam.SetTargetBuffers(Display.main.colorBuffer, Display.main.depthBuffer); extCam.enabled = false; }
void Update() { if (Display.displays.Length > 1 && !extCam.enabled) { Display.displays[1].SetRenderingResolution(256, 256); extCam.SetTargetBuffers(Display.displays[1].colorBuffer, Display.displays[1].depthBuffer); } extCam.enabled = Display.displays.Length > 1; } }
activeEditorGameViewTarget | 获取编辑器活动的 GameView 显示目标。 |
displays | 已连接显示器的列表。 |
main | 主显示器。 |
active | 获取显示器的状态,如果显示器处于活动状态,则返回 true,否则返回 false。 |
colorBuffer | 颜色渲染缓冲区。 |
depthBuffer | 深度渲染缓冲区。 |
renderingHeight | 显示器渲染的垂直分辨率。 |
renderingWidth | 显示器在视口中渲染的水平分辨率。 |
requiresBlitToBackbuffer | 当后台缓冲区需要中间纹理进行渲染时为真。 |
requiresSrgbBlitToBackbuffer | 当对后台缓冲区进行 blit 需要手动颜色空间转换时为真。 |
systemHeight | 垂直原生显示分辨率。 |
systemWidth | 水平原生显示分辨率。 |
Activate | 激活外部显示器。例如,连接到系统的辅助监视器。 |
SetParams | 仅限 Windows 平台。设置屏幕上的渲染大小和位置。 |
SetRenderingResolution | 设置显示器的渲染分辨率。 |
RelativeMouseAt | 查询相对鼠标坐标。 |