Oculus Integration提供了一个名为OVRCameraRig的预制件,它的主要作用就是提供摄像头和追踪双手的控制器。当启用VR的时候,这个预制件就会将头部的位置和姿势传递给摄像机,即摄像机总是在固定相对于玩家的位置处。
使用OVRCameraRig只需要在Project面板中搜索,然后直接拉到Hierarchy面板中即可,注意要删掉面板中原来的摄像机。OVRCameraRig下包括TrackingSpace,是用来表示追踪空间的。在这之下有LeftEyeAnchor,CenterEyeAnchor,RightEyeAnchor,TrackerAnchor,LeftHandAnchor,RightHandAnchor。其中最后两个又分别有LeftControllerAnchor和RightControllerAnchor子对象。
OVRCameraRig自身主要包括两个脚本:OVRCameraRig和OVRManager。(其实还有个OVRHeadset Emulator)。
OVRCameraRig.cs是一个控制立体声渲染和头部追踪的组件。它在左眼和右眼,以及虚拟的中心眼处设置了三个锚点。它是Unity和摄像机之间的主要接口。在VR设计中所有的摄像机控制都应该由这个组件完成。其中的参数意思如下:
Use Per Eye Camera:勾选这个则表示对于左右眼使用单独的摄像机,不然就只使用一个中间的摄像机,即CenterEyeAnchor中的摄像机
Use Fixed Update For Tracking:勾选这个表示追踪空间是通过FixedUpdate()而不是Update()来更新,好处是开销少了,但如果固定更新的帧率与渲染帧率不匹配则会造成锚点抖动。
Disable Eye Anchor Camera:勾选这个表示禁用锚点上的摄像机。这种情况下主摄像机是用来提供VR渲染的,而锚点只是用来更新姿势的。
OVRManager.cs是VR硬件的的主要接口,负责将Oculus SDK暴露给Unity,也包括使用元变量来帮助配置摄像机状态的辅助函数。
Performance and Quality设置:
Use Recommended MSAA Level:默认是勾选的,选择这个可以让软件根据设备自动选择合适的MSAA级别。目前只支持Unity内置渲染管线。对于通用渲染管线URP,请手动设置MSAA为4x。
Monoscopic:如果勾选,则两个眼睛看到的都是由中心摄像机渲染的相同图像,不建议使用这个设置。
Min Render Scale:设置自适应分辨率的最小值,默认为0.7
Max Render Scale:设置自适应分辨率的最大值,默认为1.0
Head Pose Relative Offset Rotation:设置头部姿势的相对旋转值
Head Pose Relative Offset Translation:设置头部姿势的相对位移值
Profiler TCP Port:Oculus Profiler服务的TCP监听端口,在开发或者调试的时候激活,可以在Oculus>Tools>Oculus Profiler Panel查看实时系统情况。
Tracking设置:
Tracking Origin Type:设置追踪原点类型。Eye Level是追踪相对于设备的位置和方向,Floor Level是追踪相对于地面的位置和方向,是基于在Oculus Configuration Utility中用户指定的战力高度。
Use Positional Tracking:勾选后头部追踪会影响虚拟摄像机的位置
Use IPD in Positional Tracking:勾选后用户双眼的距离会影响每个OVRCameraRig中摄像机的位置
Allow Recenter:勾选后用户可以通过点击菜单栏的重置视图来重置姿势。像赛车游戏这种位置固定的可以勾选,但位置不固定的不要勾选,因为可能会把人放在一个错误的地方
Late Controller Update:勾选这个可以在渲染前立即更新控制器姿势。可以降低真实世界和虚拟控制器之间的延迟。如果控制器的姿势是用来模拟现实的,实际上控制器的位置与人的真实位置会滞后大约10ms。
Display设置:
Color Gamut:这个是用来选择特定的色彩空间的。
Quest Features设置:
Focus Aware: 勾选这个则运行用户在不切换app的情况下访问系统界面
Hand Tracking Support:从列表中选择,Controllers表示控制器,Hands指手部追踪。一般选择Controllers And Hands
Hand Tracking Frequency:选择手部追踪频率。一般来将越高越好,但太高也会导致性能开销大
Requires System Keyboard:勾选这个允许使用者与系统键盘互动。
System Splash Screen:选择一个2D纹理来作为开机图片
Allow Optional 3DoF Head Tracking:勾选这个在支持6DoF同时也支持3DoF
PassThrough Support:没说,但有这个
Build Settings设置:
Skip Unneed Shaders:勾选表示启用着色器剥离。
Security设置:
Custom Security XML Path:如果使用自己的XML,在这里输入
Disable Backups:勾选这个则可以保护使用者的私人信息不会暴露给未经授权的组织或者不安全的位置
Enalbe NSC Configuration:勾选这个可以防止应用程序或者任何嵌入式的SDK启动明文HTTP链接,并强制使用当前app使用HTTPS加密
Mixed Reality Capture设置:
enableMixedReality:勾选表示启用混合显示捕捉。即可以将现实物体放在VR中