Sof*_*ver 6 c# unity-game-engine virtual-reality unity5
对于部署到Android设备的应用,如何在Unity中以编程方式将显示设置为立体?
我想要一个UI菜单,用户可以在"VR模式"和普通模式之间切换.我默认不想要VR模式,因为它应该是运行时的选项.我知道在构建设置中有"虚拟现实支持"的设置,但同样,我不希望默认启用此功能.
Pro*_*mer 11
包括using UnityEngine.XR;
在顶部.
XRSettings.LoadDeviceByName("")
使用空字符串调用,然后XRSettings.enabled = false;
在启动功能中禁用VR以禁用VR.
如果要稍后启用它,请XRSettings.LoadDeviceByName("daydream")
使用VR名称后跟XRSettings.enabled = true;
.
您应该在每个函数调用之间等待一个帧.这需要做一个corutine功能.
另外,在某些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));
}
Run Code Online (Sandbox Code Playgroud)
调用EnableVR()
以启用vr并DisableVR()
禁用它.如果您使用的是白日梦以外的任何内容,请将该VR设备的名称传递给该LoadDevice
功能中的该EnableVR()
功能.
对于较新的 Unity 版本(例如 2019.4.0f1),您可以使用XR 插件管理包。
要启用呼叫:
XRGeneralSettings.Instance.Manager.InitializeLoader();
Run Code Online (Sandbox Code Playgroud)
禁用呼叫:
XRGeneralSettings.Instance.Manager.DeinitializeLoader();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6575 次 |
最近记录: |