对于在Android设备上部署的应用程序,如何在Unity中以编程方式将显示设置为立体?
我想要一个用户可以在“ VR模式”和普通模式之间切换的UI菜单。我不希望默认使用VR模式,因为它在运行时应该是一个选项。我知道在构建设置中有一个“支持虚拟现实”的设置,但是同样,我不希望默认情况下启用此设置。
包括using UnityEngine.XR;在顶部。
using UnityEngine.XR;
XRSettings.LoadDeviceByName("")使用空字符串进行调用,然后XRSettings.enabled = false;在启动功能中禁用VR以禁用VR。
XRSettings.LoadDeviceByName("")
XRSettings.enabled = false;
如果您想稍后启用它,请XRSettings.LoadDeviceByName("daydream")使用VR名称后跟进行调用XRSettings.enabled = true;。
XRSettings.LoadDeviceByName("daydream")
XRSettings.enabled = true;
您应该在每个函数调用之间等待一帧。这就需要完成一个常规功能。
另外,在某些VR设备,你必须去 编辑 - > 项目设置 - > 播放器 ,并确保 虚拟现实支持的 复选框被 选中 之前,这将工作(真)。然后,您可以在“开始”功能中将其禁用,并在需要时启用它。
编辑 :
众所周知,这可以在某些VR设备上运行,而不是在所有VR设备上都可以运行。虽然,它应该可以在Daydream VR上使用。完整的代码示例:
IEnumerator LoadDevice(string newDevice, bool enable) { XRSettings.LoadDeviceByName(newDevice); yield return null; XRSettings.enabled = enable; } void EnableVR() { StartCoroutine(LoadDevice("daydream", true)); } void DisableVR() { StartCoroutine(LoadDevice("", false)); }
调用EnableVR()以启用和DisableVR()禁用vr 。如果您使用的不是白日梦,请将该VR设备的名称传递给LoadDevice功能中的EnableVR()功能。
EnableVR()
DisableVR()
LoadDevice