先说一下问题的来源,最近做的项目,包含普通场景到VR场景的一个转换,项目升级到unity5.4.2后,不管是普通的场景还是VR场景,都会在HTC Vive里面显示,导致普通场景显示不正常,搜索很多资料,总结了一下。
- 在PlayerSettings里有个选项VirtualRealitySupported,这个选项导入SteamVR时取消是不管用的,SteamVRSetting在onload的时候,会自动把它勾选。
- 普通场景想要在导入SteamVR后禁用乱入的VR摄像机,需要使用VRSetting.enable=false;
- 使用VRSetting.enable=false,起始场景是普通场景时,会把当前这相机的Field of View设置成100多的一个值,需要注意重新设置这个值。
- 在转到VR场景的时候,不仅仅需要设置VRSetting.enable=true,还需要手动初始化SteamVR的相关组件,不然在vr场景只会看到空场景,初始化的代码代码如下:
[C#] 纯文本查看 复制代码12345
VRSettings.enabled =
true
;
SteamVR.enabled =
true
;
SteamVR vr = SteamVR.instance;
SteamVR_Render render = SteamVR_Render.instance;
render.enabled =
true
;
vrCamera.enabled =
true
;
//此处是SteamVR_Camera的引用