从代码启用/禁用VR
如何在Unity中以编程方式将显示设置为立体,以便将应用程序部署到Android设备?
我想要一个UI菜单,用户可以在“VR模式”和普通模式之间切换。 我不想默认VR模式,因为它应该是运行时的一个选项。 我知道在构build设置中有一个“虚拟现实支持”的设置,但我不希望默认情况下启用该设置。
包括using UnityEngine.VR;
在顶部。
用空string调用VRSettings.LoadDeviceByName("")
,然后VRSettings.enabled = false;
禁用启动function中的VR以禁用VR。
如果您想稍后启用它,请使用VR名称和VRSettings.enabled = true;
调用VRSettings.LoadDeviceByName("daydream")
VRSettings.enabled = true;
。
您应该等待每个函数调用之间的一个帧。 这需要做一个corutinefunction。
此外,在一些VR设备上,你必须去编辑 – > 项目设置 – > 播放器 ,并确保在虚拟现实支持checkbox被选中 (true)之前,这将工作。 然后,您可以在启动function中将其禁用,并在需要时启用它。
编辑 :
这是众所周知的一些VR设备,而不是所有的VR设备。 虽然,它应该在Daydream VR上工作。 完整的代码示例:
IEnumerator LoadDevice(string newDevice, bool enable) { VRSettings.LoadDeviceByName(newDevice); yield return null; VRSettings.enabled = enable; } void enableVr() { StartCoroutine(LoadDevice("daydream", true)); } void disableVr() { StartCoroutine(LoadDevice("", false)); }
调用enableVr()
来启用vr和disableVr()
来禁用它。 如果您使用的不是白日梦,请将该VR设备的名称传递给enableVr()
函数中的enableVr()
函数。