虚拟现实(VR)中的晕动症 - VIMS

在玩VR的时候,很多玩家都遇到过发晕恶心等症状,这就是晕动症(Motion Sickness,以下或简称MS)。MS并不是VR特有的问题。我们在坐船、坐车、坐过山车等等都可能发生晕动症MS。晕动症的表现一般有发热、冷汗、眩晕、轻微胃反应、头疼、脸色发白等,严重时可能会有恶心、唾液增加、干呕或呕吐等,之后可能会渴睡。症状发生后,可能要数小时才能消退。理论上讲,所有正常人(前庭系统完整的人),都可能经历晕动症。

VR中出现的晕动症主要是由视觉产生的晕动症(Visually induced motion sickness,以下简称VIMS)。VIMS发生在如电子游戏、模拟驾驶器等等的有视觉刺激的环境下,而不是发生在像坐车、坐船一样身体的颠簸刺激下。学术界也有称之为电子晕动症(cybersickness)、虚拟现实晕动症(virtual reality sickness)、游戏晕动症(gaming sickness)、镜头晕动症(camera sickness)和模拟器晕动症(simulator sickness)。最后一项“模拟器晕动症(simulator sickness)由Kennedy等人提出,他们提出的模拟器晕动症问卷(Simulator Sickness Questionnaire, SSQ)也成为一个VR学术研究中评价晕动症时被广泛使用的问卷。

MS的产生原因

关于MS的产生原因,各家众说纷纭,当前并没有一个统一的定论,因为似乎每一种说法都能找到相悖的情况,或者不能解释所有的晕动症的产生。但是当前最为广泛接受的有两种观点:一种是“感官冲突”(Sensory Conflict),一种是“姿态不稳定”(Postural Instability)。下面一一为大家介绍。

观点一:感官冲突 Sensory Conflict

感官冲突也被称为“感官重组(Sensory Rearrangement)”,“神经失配(Neural Mismatch)”,或“线索冲突(Cue Conflict)”。VIMS由感官冲突导致的观点由Reason和Brand在20世纪70年代提出。这里的感官是指的视觉系统、前庭系统(vestibular system)、体感系统(somatosensory system)。其中前庭系统是人体内位于耳后前庭的一个结构,负责提供人的空间感和平衡感。体感系统指的是人的皮肤、躯体对外界和内部的感知系统,主要是力的感知,包括触觉、压觉、痛觉、温觉和本体感觉(肌肉和关节运动等)。当这些系统(主要是视觉和前庭)传递给中枢神经的信息不一致时,VIMS就产生了。比如,游戏画面(视觉系统)告诉你你跳下了屋顶,而你的身体(前庭系统和体感系统)告诉你你在这好端端的坐着,这时候就可能发生MS。

除了感官之间的信息不匹配,感官冲突还可能体现在另一种冲突上,也就是人们的感官信息预测(根据前一瞬做出)和实际发生的感官信息的冲突。比如,本来人在平稳地水平移动,但是如果下一瞬突然开始上下移动(比如站在船上时船的上下浮动、坐车时的颠簸),那么就可能导致MS。VR中,比如用户预期可以平稳的移动,但是画面出现了卡顿或者失灵,那么就可能发生VIMS。这个观点涉及到的某些生物学理论,如神经存储区等,还未在生物和医学上证实 - 不过科学本来就是不能证明,只能证伪的(笑),关键在于观点的解释力,适用的情况是否广泛。这一理论的模型已经相当完善(见下图)。并且,除了解释MS产生的原因,该理论还可以解释人是如何适应MS的。也就是当发生过预期和真实信号不匹配的情况后,人们可以进行学习适应,(主动或潜意识地)调整预期,预期和真实一致后,晕动症就不会再发生了。这也可以解释,为什么航海的船员刚上岸时常常也会出现不适,但是只要稍作适应,不久后就会恢复正常。这也提示我们,可以通过训练的方式减轻MS的发生。

图1. 感官冲突理论。虚线代表内部神经系统储存的信息。译自Keshavarz, B., Hecht, H., & Lawson, B. D. (2014). Visually Induced Motion Sickness: Causes, Characteristics, and Countermeasures. pp. 653. 原始图来自Benson, A.J., Motion sickness, in Pandolf, K.B. and Burr, R.E., [Eds.], Medical Aspects of Harsh Environments, Vol. 2, United States Army Medical Department Center and School, Washington, DC, 2002, pp. 1048–1083.

感官冲突是当前最为主流的观点,大部分人解释VR晕动症时都会提到这一观点。这是因为与它相关的研究相当之多,并且该理论的诠释力强,也有很多延伸理论。不过在学术界,这一观点也有很多被诟病的地方。首先,该观点声称的感官冲突处理的“皮质中心”在生理学上并未被完全证实存在( Oman & Cullen, 2012)。亦有Ebenholtz等人1994年指出,感官冲突理论可以后知后觉地解释所有MS,这种理论是不可证伪的伪理论。同时,感官冲突理论还有一个重要的被抨击的原因,那就是它并不能解释一种情况的发生:为什么低频垂直震荡容易导致的严重的MS。而这种情况,可以很好地被下一种观点解释。

观点二:姿态不稳定 Postural Instability

该观点由Riccio和Yardley于20世纪90年代初提出。他们提出了一个概念叫“姿态稳定性(Postural Stability)”,指的是“The state in which uncontrolled movements of the perception and action system are minimized.(不受控制的感知和行动系统的动作最小化的状态)”。说人话就是,如果你不需要怎么动,那就姿态稳定。举个反例,在公交车上,公交车的加减速度、转弯,都会让你的身体产生被动的动作,你都需要动脑和动身体来协调你的身体来站稳,这就是姿态不稳定的状态。Riccio和Yardley认为,晕动症发生在一个人的姿态稳定性受到场景的挑战,需要额外努力来维持的情况下。

频率为0.06-0.4Hz的一些低频运动容易使人产生严重的晕动症,车、船、飞机都可能产生这种低频运动。有趣的是,人的自发身体摇摆(spontaneous body sway),也就是人不由自主产生的运动,它的低频范围也在这个0.06-0.04的区间内(Golding et al., 2003; Golding & Gresty 2005)。于是Riccio和Stoffregen(1991)认为外界发生的低频运动加重了人的自发身体摇摆(因为频率相近),这样人体难以自然地保持姿态稳定性,从而产生了晕动症。已有数个研究表明MS的产生和姿态不稳定性有关。如Merhi等人(2007)发现在玩电子游戏时,喜欢动头部的玩家VIMS更严重。Bonnet等人(2006)也通过实验发现,在暴露在低频运动的环境下时,产生严重MS的被测者比轻微MS的被测者的身体摇摆的变化更大。

姿态不稳定理论认为姿态不稳定性是MS的充分必要条件。然而,该理论的研究也有遭到质疑。如身体的摇摆到底和MS有何相关性 - 是摇摆幅度增加、减少还是前后的摇摆变化程度增加?这个相关性并没有被明确定义。还有身体摇摆为什么就代表了姿态不稳定?(那身体上下晃动或者其他运动呢?)很多学者如Golding和Gresty(2005)、Lubeck等人(2011)都指出了该理论中的一些不足和矛盾的地方。比如,按照理论所说,如果我们借助外界的手段帮助人的身体保持稳定,那么就不应当发生MS,然而有的实验表明外界的稳定性帮助的却可以防止MS,而一些实验却发现没有区别。


Keshavarz, B., Hecht, H., & Lawson, B. D. (2014). Visually Induced Motion Sickness: Causes, Characteristics, and Countermeasures.

虚拟现实中的Motion Sickness晕动症问题 - VIMS的更多相关文章

  1. 虚拟现实中自由步行(free-space walking)

    之前我们讲到了虚拟现实中漫游方式的分类.虚拟现实中的漫游(travel/navigate)方式,即是应用提供给用户的,在虚拟环境中移动的方式.虚拟现实的漫游方式中,有一种被称为“完全动作线索”1,即用 ...

  2. 用原生js写一个"多动症"的简历

    用原生js写一个"多动症"的简历 预览地址源码地址 最近在知乎上看到@方应杭用vue写了一个会动的简历,觉得挺好玩的,研究一下其实现思路,决定试试用原生js来实现. 会动的简历实现 ...

  3. CSS3 animation属性中的steps实现GIF动图(逐帧动画)

    相信 animation 大家都用过很多,知道是 CSS3做动画用的.而我自己就只会在 X/Y轴 上做位移旋转,使用 animation-timing-function 规定动画的速度曲线,常用到的 ...

  4. angular2中的路由转场动效

    1.为什么有的人路由转动效离场动效不生效? 自己研究发现是加动效的位置放错了  如下: <---! animate-state.component.html --> <div sty ...

  5. cocos2dx中的实现地图卷动的两种方式

    在游戏当中,实现地图卷动是最基本的功能,具体的实现的方法,大致有两类: 方法一:加载两张图片,轮流显示, 优点: 1.无论是地图上下卷动,还是左右卷动都可以 2.支持各种图片,(png,jpg...) ...

  6. 视频转成在github的readme中展示项目的gif动图

    本文中涉及的FastStone Capture和FFmpeg两个软件的百度网盘链接: 链接:https://pan.baidu.com/s/1D5LO9Qmjl-vwJZfnbAloyQ 提取码:56 ...

  7. 剖析虚幻渲染体系(15)- XR专题

    目录 15.1 本篇概述 15.1.1 本篇内容 15.1.2 XR概念 15.1.2.1 VR 15.1.2.2 AR 15.1.2.3 MR 15.1.2.4 XR 15.1.3 XR综述 15. ...

  8. VR电竞游戏在英特尔®架构上的用户体验优化

    作为人与虚拟世界之间的新型交互方式,VR 能够让用户在模拟现实中获得身临其境的感受.但是,鉴于 VR 的帧预算为每帧 11.1ms (90fps),实现实时渲染并不容易,需要对整个场景渲染两次(一只眼 ...

  9. VR元年,VR虚拟现实这只风口上的猪有怎样的变化?

    走过了2016年,无论我们承认不承认,这一年到底是不是VR元年,我们都很难否定,在这一年,VR虚拟现实生态圈有很大的变化,那么,这一年VR虚拟现实到底有怎样的改变呢?我们的VR虚拟现实生态圈,发生了什 ...

随机推荐

  1. HAOI2006 (洛谷P2341)受欢迎的牛 题解

    HAOI2006 (洛谷P2341)受欢迎的牛 题解 题目描述 友情链接原题 每头奶牛都梦想成为牛棚里的明星.被所有奶牛喜欢的奶牛就是一头明星奶牛.所有奶 牛都是自恋狂,每头奶牛总是喜欢自己的.奶牛之 ...

  2. ios5与ios7数字输入样式一致

    <input  name="activeCode" id="activeCode" ontouchstart="this.type='numbe ...

  3. 背包形动态规划 fjutoj1380 Piggy-Bank

    Piggy-Bank TimeLimit: 2000/1000 MS (Java/Others)  MemoryLimit: 65536/32768 K (Java/Others) 64-bit in ...

  4. POJ 1182 食物链(经典并查集) (多组输入有时乱加也会错!)

      多组输入有时乱加也会错! 这次用多组输入竟然,不用竟然对了,所以以后做题目,若是答案错误,先看加上或者删掉多组输入,看对不对 食物链 Time Limit: 1000MS   Memory Lim ...

  5. Shiro实现用户对动态资源细粒度的权限校验

    前言 在实际系统应用中,普遍存在这样的一种业务场景,需要实现用户对要访问的资源进行动态权限校验. 譬如,在某平台的商家系统中,存在商家.品牌.商品等业务资源.它们之间的关系为:一个商家可以拥有多个品牌 ...

  6. 【Offer】[57-2] 【和为S的连续正数序列】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 输入一个正数s,打印出所有和为s的连续正数序列(至少含有两个数).例如,输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以 ...

  7. 【Offer】[8] 【中序遍历的下一个结点】

    题目描述 思路分析 Java代码 代码链接 题目描述 给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点? 树中的结点除了有两个分别指向左右子结点的指针以外,还有一个指向父结点的指针. ...

  8. 锁和synchronized

    锁的常见概念 互斥: 同一时刻只有一个线程执行 临界区:一段需要互斥执行的代码 细粒度锁: 用不同的锁对受保护资源进行精细化管理. 细粒度锁可以提高并行度,是性能优化的一个重要手段 死锁 :一组互相竞 ...

  9. HashMap面试题

    HashMap原理: “HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象.当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算has ...

  10. 关于Java网络编程

    一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输. 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可 ...