Oculus Rift头戴显示器
本文由 RoboPeak 团队陈士凯完成,RoboPeak 是由一群工程师和新媒体艺术家组成的硬件创客团队,致力于将机器人技术融入生活当中。本文是陈士凯对 Oculus Rift 虚拟现实眼镜的详细使用体验与产品畅想。 $O" S*)9 ]jiM
[attachment=54196] oT2h'gu") 1. 简介 Kn3qq & V:q}Q 去年 8 月的时候,我经好友介绍,了解到了当时正在 Kickstarter网站上募资的 Oculus Rift 虚拟现实眼镜项目 (后文简称 Rift)。虽然那个时候 Kickstarter 上的项目页面中并没看到 Oculus Rift 眼镜的实物,不过看过五分钟不到的演示视频的后,我便迫不及待的想预定一台了。 OJ8 ac6cJ "&?F6Pi
[attachment=54197] bK;I:JK3
图: Oculus Rift 在 Kickstarter 上的募资页面 !GI*R2<W 与目前同样被广泛关注的 Google Glass 不同,Rift 是一款虚拟现实 (VR) 的头戴式显示器。在带上它之后,使用者将看到的是另一个虚拟的世界,并且通过双眼视差,使用者会有很强的立体感。此外,由于 Rift 眼镜当中配有陀螺仪、加速计等惯性传感器,可以实时的感知使用者头部的位置,并对应调整显示画面的视角。这样一来用户就仿佛完全融入在到了这个虚拟世界当中。 2KVMQH`B9 2|]$hjs
[attachment=54198] Poy ]5:. 图:Rift 将电脑中的虚拟场景展现给用户 >m='#x0>Y
[attachment=54199] T|^rFaA 图:Rift 配备的惯性传感器感知用户头部的姿态信息,来源:Oculus Rift SDK 文档插图 z-fP#. 自然不难想象,Rift 的最佳应用之一就是电子游戏。虽然目前各类游戏已经可以渲染出以假乱真的 3D 场景,但是由于玩家仍旧是盯着一个有限大小的显示器看。相比如果使用这类虚拟现实眼镜,相信可以极大增强玩家的现场感,多少可以体验到像电影 Matrix 中那样后脑插上电缆,就可以进入另一个世界的感觉吧! gQaBQq9 从技术上来说,虚拟现实眼镜并不是什么新鲜玩意。相关的研究领域十几年前就开始使用这类设备开展研究了。不过在 Rift 问世之前,这类设备往往不是售价昂贵就是性能不足,难以带来逼真的虚拟现实。 $z,lq#zzl J'^H@L/E
[attachment=54200] 2[f8"'lUQ
图: 美国军方使用虚拟现实眼镜对士兵进行训练。(来源: Wikipedia) USfpCRj9 而 Rift 相比他们来说显得非常“亲民”。当时在 Kickstarter 上赞助一套完整的 Rift 眼镜开发者套件是 $300,而对于身在中国的我,需要额外 Pledge $30 作为快递费用。因此当时“订购”一台 Rift 眼镜的价格就是 $330,约合¥2032。 +c4]}9f! 这个价格相比其他动辄上万的专业级别 VR 眼镜来说便宜了不少。但如果单从价格本身来看,可能还是会觉得这个定价偏贵,更何况 Kickstarter 项目并非是购物的过程。赞助者需要承担项目今后夭折而颗粒无收的风险。 y<mmv~= 不过在我比较了目前市面 SONY 的另一款相似的 3D 头戴式显示器后,觉得这个价格还是很合算的。虽然 Rift 的显示分辨率比 SONY 的产品略低,但是 Oculus 官方宣称他具有 110 度的视角,并且带有头部姿态传感器。而 SONY 的眼镜则只有 45 度的视角,并没有姿态传感器来实现虚拟现实的应用,但价格却在¥5000 以上。 9bvz t8pc yf`Nh
[attachment=54201] BwtjTwd 图:Oculus Rift 宣传视频中宣称的 110 度视角
O\y#|=d 经过了半年多的等待,Oculus 团队不负众望陆续将 Rift 开发套件送到了全球各地的赞助者手上。我也在今年 4 月底收到了等候多时的 Rift。 am.}2QZU 那么 Rift 到底用起来感觉如何?接下来我将向大家分享我的使用体验。并且由于我本身对电子制作和机器人有浓厚兴趣,因此本文也将花一定篇幅探讨 Rift 背后的技术实现以及针对他进行扩展应用。 ^@?-YWt M{I8b<hY 2. 开箱照 .;j} :< ~]X4ru5,4 我的 Rift 是从香港寄来的,快递使用的是 EMS。打开纸箱后就会看到 Rift 定制的黑色箱子,感觉很专业: kBolDPvBG [attachment=54202] =9$hZ c 打开箱子后就可以看到 Rift 整机、说明书、连接线和其他配件: ; (I(TG S <~"\<ED
[attachment=54203] pN# \ 在说明书中列出了套件中的所有物品清单,可以看出 Oculus 很用心,还准备了两种不同长度的 HDMI 连接线。另外箱子中也包含了不同国家的电源插头转接头,同时还有为不同裸眼视力人群准备的可拆换镜片(后文将具体介绍)。 P2_UQ |9>?{
B\a
[attachment=54204] !f5I.r~ 一套完整可以工作的 Rift 套件包含如下的部分:Rift 眼镜(显示器),眼镜驱动器盒子、电源适配器、连接电脑用的 HDMI 和 USB 线缆: j3{8]D \49LgN@\
[attachment=54205] BeP]M1\?> Rift 真机相比之前宣传的概念图有所变化,外壳的圆角取消了,并且感觉体积略大。不过重量控制的比较好,戴在头上不会有明显的负重感。 pvCn+y/U; 做工上我认为只能算中上水平,不过要知道对于一个之前没有涉足硬件制造的团队来说,半年内生产出上万的批量合格产品绝非易事。 .OFwGOL% 在早先的 Oculus 进度通报邮件中提及,目前所有的开发者套件均由深圳的工厂负责代工。 k(l h+EG)
< 3. 使用过程和体验 [ ySO 1_JtD|Jy 连接与供电: <=WSX{_D nXH U|5.I Rift 本质上说是一个接受 HDMI 和 DVI 输入的显示器,同时也是一个可以检测空间姿态信息的 USB 设备。所有与电脑连接的接口都设计在了 Rift 驱动器盒子上: {pJ{UJKv? y4* }E
[attachment=54206] Zz!0|-\ 图:Rift 驱动器盒,与 Rift 眼镜采用固定的电缆连 r;:5P%:
[attachment=54207] bxX[$q
图:驱动盒的接口,依次为:HDMI、DVI、Mini USB 和 5V 直流电输入 V,t&jgG*
控制盒的另一侧是各类控制按钮,包含电源控制和对画面亮度、饱和度的调节。 E__^>= [attachment=54208] On%21L;JG 在使用时,用户必须将电脑的 HDMI 或者 DVI 之一的信号连接到 Rift,同时还需要连接 USB 线缆,以及一个用于供电的直流电适配器:
MZp` YC!Tgb~H
[attachment=54209] q{D_p[q 图:Rift 需要 5V 1500mA Max 的额外供电 3^p<Wx 从接口上来说还是比较繁琐的,这也限制了 Rift 使用的便携性。普通用户无法带着 Rift 在户外或者没有交流供电的环境下使用。之所以需要额外的直流电适配器,我认为是因为 Rift 自身功耗较大,无法直接通过 PC 的 USB 口获取足够的电流。在本文后续部分我将具体探讨这一话题,以及改造的可能。 L"|4
v 将 HDMI 和 USB 线与电脑连接后,通过控制盒上的电源按钮可以开启眼镜: 9MfBsp}c .b'o}DLa
[attachment=54210] 7/*Q?ic Oculus 巧妙地将蓝色的电源指示 LED 安排在了自身眼睛形状 Logo 的中间,再次体会到制作团队的用心。 cRYnQ{$' 4o7(cP
[attachment=54211] TAfLC) 画面体验和原理简介 cp@(y$ eu!B
, 在开启电源之后,即使没有打开 Rift 专用的程序,也可以看到 Rift 眼镜中已经有画面显示了。 ^R\et.W`s 6zuWG0t
[attachment=54212] -h=K]Y{` 如果将 Rift 眼镜上的透镜拆掉,就可以看到藏在眼镜底部的 LCD 显示器。它只是简单的复制了电脑显示器的画面而已。 EC[2rROn\ Z"spua5
[attachment=54213] @C[]o.r 另外也可以在电脑的设备列表中看到名为 Tracker DK 的 USB 设备,它是一个标准的 HID 输入设备(鼠标、键盘这类外设均为 HID 设备,即人机接口设备,他们拥有共同的通讯协议规范)。 Rou$`<{H N}`.N
[attachment=54214] Ejc%DSG 之所以要强调这两点的用意是为了说明 Rift 具有很好的兼容性。主流的系统不需要安装额外的驱动程序就可以使用。 O'tVZ!C#J 这里先使用 Oculus 官方提供的一个实例程序来体验 Rift 的实际感受。不过最真实的感受还需要大家亲自体验,这里我尝试通过各种角度的描述,尽可能多的讲述我自己的感受。 Nb.AsIR^ CKJ9YKu{W
[attachment=54215] ~!o\uTVr 上图为 Oculus 官方提供的演示程序的启动配置窗口。目前采用 Oculus SDK 开发的应用大多采用这个标准的配置界面。由于目前 Rift 眼镜采用 1280×800 的 LCD,因此在演示程序稍后就会将画面切换到该分辨率下。(经过我验证,Rift 可以接受 1080p 的画面输入,但是就和投影仪一样,在眼镜中显示的实际分辨率仍旧是 1280×800 的缩小后的画面) E]zTd$v6 启动后电脑显示器将出现下图那样的左右看似重复的画面,并且边缘还带有扭曲: tK9_]663 [attachment=54216] K_\fO|<k 很容易猜到这两幅画面其实分别对应了 Rift 中左右眼应该看到的部分。而之所以扭曲,这便是 Rift 能实现 110 度视角的奥秘所在:采用凸透镜将画面放大。 6Y!hz7D O{b.-<
[attachment=54217] $dr=M(& 图:利用凸透镜将原先长度为 x 的画面放大至 x’。来源:Oculus SDK 文档 z}I4m
[attachment=54218] M4hzf 图: Rift 在 LCD 屏幕前安装了凸透镜,用于扩大视角 qmzg68 由于凸透镜在放大画面的同时会产生扭曲,因此就需要先将 PC 的原始输出画面做扭曲的处理,就可以抵消扩大视角范围造成的画面扭曲。 =4RXNWkud 为了给大家直观的感受,这里将 Rift 左右眼位置的凸透镜拆除,可以看到背后的 LCD 显示的对应画面: QWt?` h= [attachment=54219] _Wcr'*7 虽然这样远距离看上去画面很清晰,但是如果不安装凸透镜,直接将 rift 带上,双眼就会看到模糊一片的景象,并且也会感觉画面很小。 (Uo:WyVj|F 那么带上 Rift 看到的画面是怎样的呢?这里我将相机仿造人肉眼那样直接贴紧 Rift 拍摄,此时的画面就和亲身的体验很接近。不过亲身的体验是全三维的,很有现场感。这种感觉靠本文难以带给读者。 z#qlu= [attachment=54220] hh\\api 图:相机尚未完全紧贴 Rift 时的效果,此时基本可以看到画面 H>8B$fi )$ =,Yi" E
[attachment=54221] IyTL|W6
^[]GsF
图:相机完全紧贴 Rift 拍摄的效果,此时的画面与亲身的体验很类似(立体效果无法展现) 5DgfrX qU!*QZ^y& 从实际体验来看,首先很明显的感受是融入感很强,感觉并不是盯着一个屏幕看,而是完全进入了这个场景。这也是 Oculus 之前宣称的。 _N`:NOM VCOz?Y* 但是不足的是画面的颗粒感很强。带上眼镜后,原本屏幕上显示的画面被放大到了全部视野,感觉有几米那么高,因此实际眼睛看到的效果和下图类似: ]"'$i4I{R N[$bP)h7
[attachment=54222] u,<#z0R|;$
图:与亲眼体验 Rift 感受类似的画面,颗粒感比较强 QR'yZ45n4 这算是目前开发机最大的不足。不过相比融入感带来的体验来说,这种颗粒感很快就会被忘却。总的来说感受就是:奇妙!
;;z4EGr 对于我这样的近视人群,使用 Rift 时无法佩戴眼镜,那么是否会看不清画面呢?这点 Rift 团队的确也想到了,为了照顾不同视力的人群,目前开发套件中包含了 3 种规格的凸透镜,规格分别叫做 A Cup, B Cup 和 C Cup。按照焦距分别对应于远视、正常视力和近视。 SKT f=rY b21c} rI3
[attachment=54223] sGx"ja+ 图:每种类型的凸透镜均有两片,可以左右眼位置安装不同规格的透镜。 lR5<
G 此外,由于不同人视力差异,Rift 眼镜还带有焦距微调机构,可以分别调节左右眼的焦距: 2=H3yEJq
C'bW3la
[attachment=54224] :1Jg;G
图:Rift 两侧都带有可以微调凸透镜焦距的机构 /P<K)a4GM Wj2s+L7, 视角切换体验 #X&`gDW Ap}^6_YXd 作为虚拟现实眼镜另一个很重要的指标就是在人扭头,视角切换时候,所看到画面随着切换的响应速度了。如果传感器或者软件处理的较慢,则会感受到所看到的画面有所滞后。从而产生不真实感,更是会令人晕眩。 ka_]s:>+ 对此 Oculus Rift 在宣传中申明采用了 1000hz 刷新率的惯性导航定位算法,可以实现很低的滞后率。 )6?(K"T 从我的感受看,前文提到的官方演示程序的确表现很出色。读者不妨先看这段视频感受一下。 9b`J2_ ]k RS&l68[6 A%H" a+ 佩戴舒适度与晕眩感 ByR%2_6& sjBP#_lW 由于 Rift 眼镜较轻,因此短期戴在头上不会有什么负重感。但由于需要将双眼长时间封闭,因此在天气较热的时候会觉得不舒服。 aAY=0rCI- 而晕眩感则较为明显,由于目前 Rift 仅能感受头部的转动,不能感受身体移动。因此在虚拟场景中的移动一般是需要通过键盘、游戏杆这类传统设备来控制的。而在“移动”的时候,由于虚拟现实带来的融入感,人体本能的会认为自身出现不受控制的漂移。此时就会产生晕眩感,这与晕车晕船的体验一样。并且长期也可能出现恶心呕吐,这一点也在 Rift 的操作手册中重点给出了警告。 1EvAV,v" 不过我发现晕眩感主要发生在虚拟场景由静止变为移动,或者移动方向剧烈变化时刻,而较为缓慢的“移动”速度可以减轻晕眩感。 F?b5 !<5 要解决这个问题,或许最好的途径就是让现实世界中的使用者真正的动起来。对此,国外的 Virtuix 公司给出了一个比较好的方案。将 Rift 配合他们研制的全方位跑步机来使用。不过我目前没有这样的跑步机,具体效果就不得而知了。不过可以做其他方面的尝试。这将在后文提到。 r)$(>/[$ ?)=A[
[attachment=54225] }S{#DgZ@X
图:Virtuix 的全向跑步机配合 Rift 实现带有移动感知的虚拟现实体验 <0,c{e
<^j,jX 支持 Rift 的应用和游戏 '~?\NeO= 相信大多数购买或者打算使用 Rift 的用户都会关心这个问题,目前来说支持 Rift 眼镜的游戏和应用的确只有几款。 d!0p^!3 从我了解到的情况看,目前可以获取的,唯一的支持 Rift 的完整版本游戏是由 VALVE 出品的 Team Fortress 2。这款游戏目前可以免费从官方下载并使用。 jkd'2 n[Jpy[4g
[attachment=54226] VEAf,{)Q
图:Team Fortress2 官方放出的支持 Rift 的宣传图 ;q:.&dak1 我也下载了这款游戏并结合 Rift 进行了体验。总体感觉不错。 Y\!* c=@k Team Fortress2 需要通过设置命令行参数”-vr”激活 Rift 模式,但目前只有 Windows 版本的 Team Fortress2 支持 Rift 眼镜,而 MacOS 和 Linux 版本尚无法开启 Rift 模式。 %{$iN|%J%$ 在以 Rift 模式启动后,所有的界面都会变成左右画面模式,以方便用户通过 Rift 直接操作: Y`@:L'j h+o-h4X
[attachment=54227] %%[ "&
图:启动 Rift 模式后的 Team Fortress2 主菜单 x:bJ1% 从 Rift 中看这个主菜单像是在 2 米外的一个 100 寸投影屏幕。并没有填充到所有的视野范围,正因为如此,在 1280×800 的分辨率条件下,留给主菜单显示的实际分辨率很小,大概只有 3/5 的画面面积。因此导致菜单中的文字难以看清。Team Fortress2 开发团队也意识到了这个问题,刻意在 Rift 使用说明中指出,需要先通过普通模式玩过游戏熟悉界面后,才推荐进入 Rift 模式。 1#H=<iJ p|Po##E}g^
[attachment=54228] JTuU}nm+ 图:在 Rift 中文字难以辨认 E?>
ERO3 不过还是能看出游戏开发团队为了支持 Rift 付出的努力。为了避免玩家出现晕眩等不适症状,在 rift 模式下游戏包含了专门针对 Rift 的校正工具。用于按照每个人的特点定义画面的各类参数,主要的校正项目是双眼的间距: BLzlXhHn `]L&2RS
[attachment=54229] +o]DT7W 图:Team Fortess2 专门为 Rift 设计的校正工具 3DH}
YAUU 这个工具很大程度上的增强了 Rift 的使用体验,也是目前其他 Rift 应用所没有的。 $5XE'm 在进入游戏后的感觉还是非常棒的,画面的延迟几乎不存在。同时现场感很强,在物体近距离爆炸产生的残片飞近时,我会不自觉地眨眼甚至尝试扭头躲避!并且可以在游戏中随意扭头查看四周情况,而不干扰传统使用鼠标进行的动作,与现实中非常像。 .Y}~2n ,k}-I65M*t
[attachment=54230] Ba$&4?8
图:从 Rift 中看到的游戏场景 Kj|l]'
[attachment=54231] RY=B>398:
图:游戏中扭头看身后的情况 z:B4 不过除了这款游戏之外,目前可以获取的只有少数的几个演示程序。除了前文介绍的 Oculus 官方的例子外,其实有一款名为 Museum of the Micro stard 的演示程序。不过相比较,它的体验并不好,主要是画面的滞后感较大,此外在虚拟世界中移动速度过快,很容易产生晕眩。 k&-SB - b,]QfC
[attachment=54232] G}B)bM2
图:Museum of the Micro stard 的场景 KiN8N=z 不过随着 Rift 开发套件的陆续发货,今后将有大批的游戏和应用出现。目前在 kickstarter 上也已经可以看到几款为 Rift 开发的游戏的募资页面了。 \{W} 目前网上有一个已经或者将要支持 Rift 的应用列表: sJ{S(wpi" dTN[E6#R
[attachment=54233] Gh3b*O_, 在后文我们也将看到,Oculus SDK 已经对 Unity 引擎提供了不错的整合,对于本身基于 Unity 开发的游戏或者应用,相信迁移到 Rift 上应当不是难事。 }Gmwm|`* tz#Fy?pe 体验小结 z;? 32K E! '|FJ 总体来说 Rift 眼镜是满足我的期望的,并且带来的虚拟现实融入感很强。对于画面分辨率低的问题可以一定程度上被忽视。而且随着今后零售版本的发布,相信那时候将采用 1080p 或者更高的 LCD,此时画面颗粒感的问题应当有所缓解。 IbFS8 *a\ ZzZy2.7 4. 内部构造和简要分析 *3;H6 6CoDn(+z 在介绍完了 Rift 的使用感受后,让我们了解下 Rift 的构造和原理问题。由于之前 ifixit网站已经做过了这方面的拆解,因此这里就直接以他们的图片作为例子。 SJ(<u2J] Rift 可以通过简单的步骤拆开,在其核心的眼镜部分包含了 LCD 面板以及带有三轴陀螺仪、三轴加速计和三轴磁罗盘的 9 自由度传感器 PCB。 +AGI)uQQ !g=2U`j^
[attachment=54234] V/C":!;
图:将 Rift 眼镜分离,并拆开。来源自 ifixit 的拆解文章 kXw& |