HoloLens开发手记 - Unity之摄像头篇

时间:2022-12-30 15:57:01

当你穿戴好HoloLens后,你就会处在全息应用世界的中心。当你的项目开启了"Virtual Reality Support"选项并选中了"Windows Holographic"后,Unity的摄像头组件会自动进行立体渲染,也会自动跟随你而移动或者旋转。

尽管如此,为了保证全息体验,以下选项需要你手动为所有摄像头设定:

  • 混合现实渲染 Mixed Reality Rendering
  • 摄像头定位 Positioning the Camera
  • 视锥范围调整 Clip Planes

注意:这些设定需要应用到每个场景中的每个摄像头。

默认情况下,当你在Unity中创建新场景后,会自动生成了一个主摄像机,这时你需要对它应用以上设定。

混合现实渲染 Mixed Reality Rendering


正如前几篇介绍的内容,HoloLens不会遮挡任何真实内容,但是它会将一切黑色渲染为透明内容。所以我们需要对我们的主摄像机也应用同样的设定,将主摄像机的背景设为纯黑,以保证真实世界内容的展现。

  1. 打开摄像头检视器,进入camera组件设定
  2. 将Clear Flags设为Solid Color(纯色)
  3. 将Backgroud色值设为RGBA(0,0,0,0)

摄像机定位 Positioning the Camera


如果使用世界原点(X:0,Y:0,Z:0)来布置场景,这会是很简单的事情。所以我们要将摄像机初始位置重置到世界原点,从默认值(0,0,-10)改为(0,0,0)。这个位置就代表了HoloLens在世界中的初始位置,也是用户头部在世界中的初始位置。

HoloLens开发手记 - Unity之摄像头篇

视锥范围调整 Clip planes


考虑到人类自然的视野,所以我们应该将视锥的Near值从默认的0.3改到0.85.注意:在HoloLens里,Unity的一个单位即代表一米。

HoloLens开发手记 - Unity之摄像头篇

多摄像机 Multiple Cameras


当场景中存在多个摄像机时,Unity会使用MainCamera标签来确定使用哪个摄像机来进行立体世界渲染。