Last Updated
在这个页面上,我将说明如何显示第二屏幕。您还可以使用插件中包含的示例进行尝试。
Caution
双屏显示在使用Uniy Editor时不起作用。请构建并运行您的应用程序以确认。
Prerequisites
-
已设置Spatial Reality Display,如果尚未设置,请参阅: 设置Spatial Reality Display,设置Spatial Reality Display Settings
-
已设置安装了SRDisplay UnityPlugin的Unity项目,如果尚未设置,请参阅: 设置Unity。
如何显示第二屏幕
请参考 创建简易应用"Hello cube!" 配置SRDisplayManager Prefab。
要显示第二屏幕,首先在SRDisplayManager上调用Init2DView(),然后获取SRD2DView。
if (_srdManager.Init2DView())
{
_srd2DView = _srdManager.SRD2DView;
}
使用Show(true)来显示第二屏幕。
_srd2DView.Show(true);

要隐藏第二屏幕,请将其设置为false。
_srd2DView.Show(false);<.>

サンプルでは、F5キー(2画面目の表示/非表示)に割り当てられています。
如何在全屏中显示第二屏幕
您可以在全屏中显示第二屏幕。
_srd2DView.SetFullScreen(true);

可以从全屏切回。
_srd2DView.SetFullScreen(false);
在示例中,您可以使用F6键(切换全屏)确认。
如何设置第二屏幕的图像
您可以设置用于显示的图像,包括空间现实显示屏的左眼图像、右眼图像和混合图像。
设置左眼图像。
_srd2DView.SetSourceTexture(SRDTextureType.LeftEye);
设置右眼图像。
_srd2DView.SetSourceTexture(SRDTextureType.RightEye);
设置混合图像。
_srd2DView.SetSourceTexture(SRDTextureType.SideBySide);
ELF-SR2:

ELF-SR1:

在示例中,您可以使用F7键(切换图像设置)确认。
设置自定义纹理。
对于 Spatial Reality Display SDK2.4.0 或更高版本,可以设置用户独有的纹理(CustomTexture)。
要显示自定义纹理,请使用 SRDTextureType.Custom 参数调用 SetSourceTexture(),并将要显示的纹理分配给 CustomTexture。
例如,如果您想在场景中放置一个摄像头,并在第二个屏幕上显示该摄像头,则将按如下方式实现。
public void ShowCameraImage(Camera sourceCamera)
{
_srd2DView.SetSourceTexture(SRD2DView.SRDTextureType.Custom);
_srd2DView.CustomTexture = sourceCamera.activeTexture;
}

在示例中,您可以参考菜单中的“Press 6”。