在体验过VR头显的人当中,除了反应画面颗粒感比较明显外,大部分也都会提及一个问题,那就是容易感到眩晕。那么,这究竟是由于什么原因造成的呢?
实际上人对于VR的眩晕很大程度上,与晕船晕车没啥区别:人耳朵里的前庭系统所感受到的运动状态和视觉系统不一致,就会在大脑里“打架”——人就会觉得晕乎乎的。总的来说,晕动症分为三种:
1、你看到动了,感觉没有动:比方说打FPS游戏就是这种情况。
2、你感觉动了,但是看到没有动:比方说晕车晕船晕机就是这种情况。
3、感觉的运动情况与看到的运动情况不匹配:宇航员在做离心机训练的时候就会遇到这种情况。
对于VR,情况可能要更加复杂一些。用户的全部视野都被VR头显所覆盖,VR头显极力欺骗你已经到了另一个世界,此时视觉系统所感受到的东西就不仅仅是视野中的一块屏幕上显示的画面,而是整个视野,在这种情况下,VR导致的晕动症就会有很多种因素。
第一是你身体的运动和你的视野中所观测到的运动不匹配:比如说你在坐VR的过山车的时候,视觉上是在高速运动,但是前庭系统却表示你并没有在运动,这时就会导致头晕。从逻辑上,这与打FPS游戏造成的头晕没有什么区别,每个人都会有不同的感受。
第二个很重要的原因是头部运动和视觉观测到的头部运动的不匹配:这也是VR头显能够从技术上加以改善的部分。其中这一点包括两个部分:帧间延迟和帧内延迟。
帧间延迟很好理解。人类对于头部转动和相对应的视野的变化是极度敏感的。如果用户的头转动了,而相对的,视野转动有延迟,只要很微小的延迟就能感觉得到。有多微小呢?研究表明,头动和视野的延迟不能超过20ms,不然就会非常明显。
不要小看20ms:实际上人头部运动的速度很容易就能够达到每秒上百度。假设头部转动速度为100度/秒(其实随便转头就能达到这个速度),20ms的延迟意味着视野中物体的转动延迟为2度,把手伸直,竖起大拇指,大拇指的宽度大概就是2度。
20ms的延迟时间对于VR头显而言是一个非常大的挑战。首先设备需要足够精确的办法来测定头部转动的速度、角度和距离,这可以使用惯性陀螺仪(反应灵敏但是精度差)或者光学方法来实现。然后计算机需要及时渲染出画面,显示器也需要及时地显示出画面,这一切都需要在20ms以内完成。相应的,如果每一帧显示的时间距离上一帧超过20ms,那么人眼同样也会感到延迟。所以,VR头显的画面刷新率应该超过50FPS,目前来说60FPS是一个基准线。要在这么短的时间内搞定这一切,本身就是巨大的挑战。
那么是不是单纯把帧率提高到60FPS以上,拼死将延迟做到20ms以内就可以了呢?其实除了帧间延迟之外,VR所造成的眩晕还有更加复杂的成因。(请看以下示意图)。
我们可以看到,左边这张图是真实的世界中,一个物体从左往右移动时眼睛看到的情况:随着时间的推移,物体的轨迹是一条线;而右边的图则是任何一种显示器显示出来的情况:物体的图像在每一个点显示一段时间之后,就跳到下一个点;它并非是连续的运动。
但是一旦当人的头部运动,那么人眼也会相对于显示的物体有相对的运动,这时物体在人眼中的轨迹就变了一个样子:
右图中头部往左转时,原来静止不动的物体的轨迹就变成了右图这个样子,不再是一个点,而是在每一帧结束之时跳回到它“应该”在的位置。然而人眼的视觉暂留现象则会保留上一帧和这一帧的图像,于是图像就会造成拖影,从而导致眩晕。
假如我们仍然假设60hz的刷新率,头部转动速度为120度/秒,那么一帧内头部转动为2度,以DK2的分辨率,一帧内的延迟为19像素,这个时候头显显示的图像将会是相当模糊的。而分辨率越高,这个问题就越严重。以人眼理论极限分辨率来计算,一帧内延迟会达到600像素。
相关阅读:一分钟带你了解VR眼镜的原理究竟是什么?
更多VR热门问答,尽在4399VR网!