专题栏目:ARVRMR虚拟现实

为什么要关注虚拟现实,因为所有现实都是虚拟的

这次要推荐给大家的是今年FacebookF8大会上,Oculus的首席科学家Michael Abrash关于VR的演讲视频。

比起WWDC和Google I/O,F8大会中引人注目的内容不算多,但Michael Abrash的这个演讲却非常值得一看,它或许能够告诉你为什么如今微软、索尼、HTC……等大小厂商都迫不及待地进入了VR领域。

Abrash 是计算机图形界的泰斗,他的《Zen of Graphics Programming》曾影响了整整一代的程序员。18年 前,他与 John Carmack 合力完成了世界上第一个 3D 图像引擎,将真正的 3D 世界带到了计算机上。上个月月 底,Abrash 加入了 Oculus 成为首席科学家,与担任 Oculus CTO 的 Carmack 再次双剑合璧。

VR:体验另一个世界》

Michael用「黑客帝国」中Morpheus的名言来说明虚拟现实的核心——"What is real? How do you define 'real'? If you're talking about what you can feel, what you can smell, what you can taste and see, then 'real' is simply electrical signals interpreted by your brain."(“什么是真实?你如何定义‘真实’?如果真实指的是你所感觉到的、所闻到的、所尝到的和所见到的,那么‘真实’就仅仅是被大脑所编译的电信号。”)

如果用工程式的思维方式来思考「真实体验」的实现,那么虚拟现实几乎就是一件不可能的事情;但从「如何欺骗感受器」的角度入手,却可以发现很多可探索的可能性。

我们所感知到的并不是世界的全貌,我们是通过感受世界的模型来理解世界,体验的真实性在于感知——这种思路对于任何针对「体验」的设计,都是有启发性的。

如果还没有听过Michael Abrash的这场演讲,推荐你观看下面这个视频,感受一下这位传奇人物对「现实」的理解。

Michael Abrash(迈克尔·亚伯拉什),他是计算机图形领域首屈一指的大师! 他是著名的计算机图形编程书籍《Graphics Programming Black Book》的作者,同时也是一位拥有高超编程技巧的开发者。Michale Abrash的职业经历非常丰富,他所效力过的公司包括微软、Id Software、Intel等,参与过的项目涉及操作系统开发、游戏开发、人工智能项目、处理器设计项目等多个领域,同时他当然也是一位杰出的软件顾问和技术专栏作者。Michael Abrash于2011年加入Valve公司,从事游戏相关的研究项目。

传奇的图形程序员Michael Abrash宣布加盟虚拟现实头盔公司Oculus担任首席科学家,他再次与另一位传奇游戏程序员卡马克(John Carmack)合作,致力于将虚拟现实带入生活。Facebook刚刚以20亿美元收购Oculus,卡马克是Oculus的首席技术官。

Abrash是《Zen of Graphics Programming》和《Zen of Code Optimization》的作者,1990年代在微软参与了Windows NT 3.1的图形技术开发,在 id Software开发了游戏Quake,Quake发布之后又回到了微软,在Gabe Newell努力不懈的说服下于2011年加入了Valve。

Abrash认为Facebook收购Oculus是好事,因为Facebook拥有解决虚拟现实难题的工程、资源和长期承诺。

虚拟现实所存在的 3 大难点

Abrash 是计算机图形界的泰斗,他的《Zen of Graphics Programming》曾影响了整整一代的程序员。18年 前,他与 John Carmack 合力完成了世界上第一个 3D 图像引擎,将真正的 3D 世界带到了计算机上。上个月月 底,Abrash 加入了 Oculus 成为首席科学家,与担任 Oculus CTO 的 Carmack 再次双剑合璧。以下是 Abrash 在 2013年 游戏开发者大会(GCD)上的演讲,主要介绍了实现 VR 的一些难点。

为了方便读者,先在这里给出一些名词解释。

VR:虚拟现实 RR:真实现实 VR 的虚像:VR 在现实世界中对应的像,并不存在,具有观察者主观感受上 VR 中的像应该存在与 RR 的位置,大小,和与观察者所成角度等因素。

Abrash 在演讲之初表达了对 VR 的乐观,认为 VR 会像当年的 3D 图像引擎一般给计算机界带来一场革命,然后他提到了现在 VR 主要存在 3 个技术上的难点。

VR 的虚像必须固定在特定位置

VR 首先要解决的问题是,不论头部怎样移动,VR 给出的画面都要让用户的大脑认为相同的物体出现在了相同的地点。如果 VR 的虚像位置与大脑预计的物体应该出现的位置稍有偏差,大脑便会告诉我们,“这不是现实”。

这说起来容易,实际上却极为困难。首先是角度问题。由于显示屏是平面的,当用户头部转动,那之前的物体则需要出现在屏幕上不同的位置。比如在下图中,三角形代表某 VR 的虚像,当用户转头 20°后,它出现在了屏幕上不同的位置。

其次是景深的问题。在 VR 中,每个物体的虚像与观察者的距离构成了其景深,两个一样大小的物体在景深不同的情况下,如果观察者的头部转动同一角度,在屏幕上的位移是不一样的。也就是说每次头部转动,每个景深上(或者说每个像素点)的物体都要被以代入不同的角度值重新计算。

追踪必须精确

要让 VR 世界中的虚像都出现在相同的位置,首先需要保证设备对观察者的追踪是准确的。也就是说设备要能准确的追踪头部转动的角度,或者发生的位移,才能通过算法改变屏幕上的图像使 VR 中的虚像固定在相同位置。那需要多准确?Abrash 认为要达到 2 米外能辨别一毫米的移动这种级别的追踪才叫 “足够精准”,然而这种级别的追踪设备目前并不是消费者可以承受的。

延迟必须降到最低

事实上,VR 设备遇到的最麻烦的问题是延迟,Arash 通过一些空间—时间表来说明延迟所会带来的问题。

在上图中,x 轴是距离,y 轴是时间。我们可以看到,随着时间增长,距离并没有变化。这被用来表示 RR 中一个静止的物体。

在上图中,随着时间的增长,物体作出了位移。这表示 RR 中一个移动的物体。明白?接下来我们要进入 VR 的世界了。

这张图表示 VR 中一个移动的物体。因为屏幕每刷新一次,物体才会产生位移,所以这张时间—空间图出现了折线:VR 的虚像会在相同位置停留一段时间,在下一次刷新后产生位移。不过因为刷新的频率很快,所以我们的大脑还是会认为 VR 世界中的虚像产生的是连续位移。理解?那我们继续。

这是 VR 中更细节的情况,每个像素实际上可以发出三原色的光,在这张图的情况中,三种颜色维持的时间相同,所以最后观察者眼中的场景是一个白色的物体产生位移。(如果背景不是白色)

前几张图中,我们都假设观察者是静止的。现在我们让观察者的头从左向右快速转动,在以观察者为静止点转换坐标系后,结果如上图所示。我们发现一个像素上,单次刷新的三种颜色的光并不会被投射到观察者视网膜上相同的位置。

通过上图我们可以看到,这样的结果是这个像素的左方会是蓝和绿所合成的青色,右方则是红和绿合成的黄色,只有中间是白色。

来源:鲸奇网

发表评论

相关文章