# 显示第二屏幕
在这个页面上,我将说明如何显示第二屏幕。您还可以使用插件中包含的示例进行尝试。
:::caution 双屏显示在使用Uniy Editor时不起作用。请构建并运行您的应用程序以确认。 :::
## Prerequisites - 已设置Spatial Reality Display,如果尚未设置,请参阅: [设置Spatial Reality Display](/Products/Developer-Spatial-Reality-display/zh/develop/Setup/SetupSRDisplay.html),[设置Spatial Reality Display Settings](/Products/Developer-Spatial-Reality-display/zh/develop/Setup/SetupSRRuntime.html) - 已设置安装了SRDisplay UnityPlugin的Unity项目,如果尚未设置,请参阅: [设置Unity](/Products/Developer-Spatial-Reality-display/zh/develop/Unity/Setup.html)。
## 如何显示第二屏幕 请参考 [创建简易应用"Hello cube!"](/Products/Developer-Spatial-Reality-display/zh/develop/Unity/HelloCubeApp.html) 配置SRDisplayManager Prefab。 要显示第二屏幕,首先在SRDisplayManager上调用Init2DView(),然后获取SRD2DView。 ```cs if (_srdManager.Init2DView()) { _srd2DView = _srdManager.SRD2DView; } ``` 使用Show(true)来显示第二屏幕。 ```cs _srd2DView.Show(true); ``` ![SRD2DView visible](/Products/Developer-Spatial-Reality-display/img/develop/Unity/lets-display-the-second-screen/pic-2dview-l.webp){.img83} 要隐藏第二屏幕,请将其设置为false。 ```cs _srd2DView.Show(false); ``` ![SRD2DView hidden](/Products/Developer-Spatial-Reality-display/img/develop/Unity/lets-display-the-second-screen/pic-2dview-none.webp){.img83} 在示例中,F5键用于切换第二屏幕的显示或隐藏。
## 如何在全屏中显示第二屏幕 您可以在全屏中显示第二屏幕。 ```cs _srd2DView.SetFullScreen(true); ``` ![SRD2DView full screen](/Products/Developer-Spatial-Reality-display/img/develop/Unity/lets-display-the-second-screen/pic-2dview-full.webp){.img83} 可以从全屏切回。 ```cs _srd2DView.SetFullScreen(false); ``` 在示例中,您可以使用F6键(切换全屏)确认。
## 如何设置第二屏幕的图像 您可以设置用于显示的图像,包括空间现实显示屏的左眼图像、右眼图像和混合图像。 设置左眼图像。 ```cs _srd2DView.SetSourceTexture(SRDTextureType.LeftEye); ``` 设置右眼图像。 ```cs _srd2DView.SetSourceTexture(SRDTextureType.RightEye); ``` 设置混合图像。 ```cs _srd2DView.SetSourceTexture(SRDTextureType.SideBySide); ``` ELF-SR2: ![SRD2DView side-by-side SR2](/Products/Developer-Spatial-Reality-display/img/develop/Unity/lets-display-the-second-screen/pic-2dview-sbs-sr2.webp){.img83} ELF-SR1: ![SRD2DView side-by-side SR1](/Products/Developer-Spatial-Reality-display/img/develop/Unity/lets-display-the-second-screen/pic-2dview-sbs-sr1.webp){.img83} 在示例中,您可以使用F7键(切换图像设置)确认。 **设置自定义纹理。** {.newlabel-2024-11-05} 对于 Spatial Reality Display SDK2.4.0 或更高版本,可以设置用户独有的纹理(CustomTexture)。 要显示自定义纹理,请使用 `SRDTextureType.Custom` 参数调用 `SetSourceTexture()`,并将要显示的纹理分配给 `CustomTexture`。 例如,如果您想在场景中放置一个摄像头,并在第二个屏幕上显示该摄像头,则将按如下方式实现。 ```cs public void ShowCameraImage(Camera sourceCamera) { _srd2DView.SetSourceTexture(SRD2DView.SRDTextureType.Custom); _srd2DView.CustomTexture = sourceCamera.activeTexture; } ``` ![SR2DView CustomTexture](/Products/Developer-Spatial-Reality-display/img/develop/Unity/lets-display-the-second-screen/pic-2dview-custom.webp){.img83} 在示例中,您可以参考菜单中的“Press 6”。
:::caution 双屏显示在使用Uniy Editor时不起作用。请构建并运行您的应用程序以确认。 :::
## Prerequisites - 已设置Spatial Reality Display,如果尚未设置,请参阅: [设置Spatial Reality Display](/Products/Developer-Spatial-Reality-display/zh/develop/Setup/SetupSRDisplay.html),[设置Spatial Reality Display Settings](/Products/Developer-Spatial-Reality-display/zh/develop/Setup/SetupSRRuntime.html) - 已设置安装了SRDisplay UnityPlugin的Unity项目,如果尚未设置,请参阅: [设置Unity](/Products/Developer-Spatial-Reality-display/zh/develop/Unity/Setup.html)。
## 如何显示第二屏幕 请参考 [创建简易应用"Hello cube!"](/Products/Developer-Spatial-Reality-display/zh/develop/Unity/HelloCubeApp.html) 配置SRDisplayManager Prefab。 要显示第二屏幕,首先在SRDisplayManager上调用Init2DView(),然后获取SRD2DView。 ```cs if (_srdManager.Init2DView()) { _srd2DView = _srdManager.SRD2DView; } ``` 使用Show(true)来显示第二屏幕。 ```cs _srd2DView.Show(true); ``` ![SRD2DView visible](/Products/Developer-Spatial-Reality-display/img/develop/Unity/lets-display-the-second-screen/pic-2dview-l.webp){.img83} 要隐藏第二屏幕,请将其设置为false。 ```cs _srd2DView.Show(false); ``` ![SRD2DView hidden](/Products/Developer-Spatial-Reality-display/img/develop/Unity/lets-display-the-second-screen/pic-2dview-none.webp){.img83} 在示例中,F5键用于切换第二屏幕的显示或隐藏。
## 如何在全屏中显示第二屏幕 您可以在全屏中显示第二屏幕。 ```cs _srd2DView.SetFullScreen(true); ``` ![SRD2DView full screen](/Products/Developer-Spatial-Reality-display/img/develop/Unity/lets-display-the-second-screen/pic-2dview-full.webp){.img83} 可以从全屏切回。 ```cs _srd2DView.SetFullScreen(false); ``` 在示例中,您可以使用F6键(切换全屏)确认。
## 如何设置第二屏幕的图像 您可以设置用于显示的图像,包括空间现实显示屏的左眼图像、右眼图像和混合图像。 设置左眼图像。 ```cs _srd2DView.SetSourceTexture(SRDTextureType.LeftEye); ``` 设置右眼图像。 ```cs _srd2DView.SetSourceTexture(SRDTextureType.RightEye); ``` 设置混合图像。 ```cs _srd2DView.SetSourceTexture(SRDTextureType.SideBySide); ``` ELF-SR2: ![SRD2DView side-by-side SR2](/Products/Developer-Spatial-Reality-display/img/develop/Unity/lets-display-the-second-screen/pic-2dview-sbs-sr2.webp){.img83} ELF-SR1: ![SRD2DView side-by-side SR1](/Products/Developer-Spatial-Reality-display/img/develop/Unity/lets-display-the-second-screen/pic-2dview-sbs-sr1.webp){.img83} 在示例中,您可以使用F7键(切换图像设置)确认。 **设置自定义纹理。** {.newlabel-2024-11-05} 对于 Spatial Reality Display SDK2.4.0 或更高版本,可以设置用户独有的纹理(CustomTexture)。 要显示自定义纹理,请使用 `SRDTextureType.Custom` 参数调用 `SetSourceTexture()`,并将要显示的纹理分配给 `CustomTexture`。 例如,如果您想在场景中放置一个摄像头,并在第二个屏幕上显示该摄像头,则将按如下方式实现。 ```cs public void ShowCameraImage(Camera sourceCamera) { _srd2DView.SetSourceTexture(SRD2DView.SRDTextureType.Custom); _srd2DView.CustomTexture = sourceCamera.activeTexture; } ``` ![SR2DView CustomTexture](/Products/Developer-Spatial-Reality-display/img/develop/Unity/lets-display-the-second-screen/pic-2dview-custom.webp){.img83} 在示例中,您可以参考菜单中的“Press 6”。