HoloLens开发手记 - Unity之摄像头篇
当你穿戴好HoloLens后,你就会处在全息应用世界的中心。当你的项目开启了"Virtual Reality Support"选项并选中了"Windows Holographic"后,Unity的摄像头组件会自动进行立体渲染,也会自动跟随你而移动或者旋转。
尽管如此,为了保证全息体验,以下选项需要你手动为所有摄像头设定:
- 混合现实渲染 Mixed Reality Rendering
- 摄像头定位 Positioning the Camera
- 视锥范围调整 Clip Planes
注意:这些设定需要应用到每个场景中的每个摄像头。
默认情况下,当你在Unity中创建新场景后,会自动生成了一个主摄像机,这时你需要对它应用以上设定。
混合现实渲染 Mixed Reality Rendering
正如前几篇介绍的内容,HoloLens不会遮挡任何真实内容,但是它会将一切黑色渲染为透明内容。所以我们需要对我们的主摄像机也应用同样的设定,将主摄像机的背景设为纯黑,以保证真实世界内容的展现。
- 打开摄像头检视器,进入camera组件设定
- 将Clear Flags设为Solid Color(纯色)
- 将Backgroud色值设为RGBA(0,0,0,0)
摄像机定位 Positioning the Camera
如果使用世界原点(X:0,Y:0,Z:0)来布置场景,这会是很简单的事情。所以我们要将摄像机初始位置重置到世界原点,从默认值(0,0,-10)改为(0,0,0)。这个位置就代表了HoloLens在世界中的初始位置,也是用户头部在世界中的初始位置。
视锥范围调整 Clip planes
考虑到人类自然的视野,所以我们应该将视锥的Near值从默认的0.3改到0.85.注意:在HoloLens里,Unity的一个单位即代表一米。
多摄像机 Multiple Cameras
当场景中存在多个摄像机时,Unity会使用MainCamera标签来确定使用哪个摄像机来进行立体世界渲染。