上一节讲到了vection是给玩家带来“移动感”的因素,它提供良好VR体验的关键之一。那么VR中我们一般用哪些方式来提供vection呢?1

首先来简单了解一下人体和空间相关的感知机制。

  • 视觉线索 visual cues2

空间感知最关键的因素。通过周围环境的变化来判断自己的变化。主要有:

    • 深度知觉 depth perception:

又称距离知觉或空间知觉3。即是人看实物时感受到的深度感,比如我们看同一个东西,可以判断出它的凹凸、大致体积,看远方的东西,可以判断出谁在前面谁在后面。这主要是通过运动视差(motion parallax)和双眼视差(binocular disparity)来达成的。运动视差4即是说当我们运动时,看到的近处的物体会比远处的物体相对移动变化快一些,是一种单眼视觉线索(monocular cue),只需一只眼就能完成。那双眼视差5当然就是一种双眼视觉线索(binocular cue),由于我们左右眼所看到的事物稍有不同,人脑中就能根据此解析出3D空间信息。

    • 视觉模式 visual pattern:

一些视觉模式也能提供很强的移动感。比如漫画中常常用一些平行线表示物体正在飞速运动,一些弧形线来表现螺旋运动等。

  • 听觉线索 auditory cues6

听觉可以给人提供方向、速度的线索。当我们夜晚站在马路边的时候,可以凭借声音发现远方有车驶来。也可以不用看就知道火车是驶近还是驶远。声音可以和震动(触觉线索)结合起来,这样提供的空间感更强。同时,声音还可以提供寻路信息,比如寺庙的钟声,公交站的声音等等。

  • 前庭线索 vestibular cues:

  前庭系统(vestibular system)7即是人的平衡系统,由于人的运动由旋转和平移两种方式组成,前庭系统也由两个部分组成:半规管系统,感知旋转动作;以及耳石,感知直线加速。

  • 体感线索 somatosensory cues:

  人体的体感系统(somatosensory system8)。提供“震动”的感觉。感知人的体表(cutaneous),和体内(subcutaneous)的感觉,身体、四肢的位置(proprioception),以及对关节和肌肉的感觉。体感系统给人提供软硬、力量、惯性等感觉。走路时脚对地面的触感,风吹来的感觉,步幅跨度大小的感觉等等都是属于体感线索。

  这里就要涉及到一个对于VR的locomotion来说很重要的一个体感线索,即“步态”(gait),就是人走路的这个动作:一只脚落地并往后滚动,然后另一只脚抬到前面落地并往后滚动的这个过程。在这个过程中,脚和地面的接触是一个滚动形的过程(roll-off process),不同的阶段中,压力体现在脚的不同部分,如下图1

如果可以在VR体验中模拟出这样一个压力变化过程,可以一定程度上增加VR的vection。


1 Kruij E, Riecke BE. Navigation interfaces for virtual reality and gaming: Theory and practice. In Virtual Reality (VR), 2017 IEEE 2017 Mar 18 (pp. 433-434). IEEE. http://ispace.iat.sfu.ca/project/vr-navi-tutorial/

2 Palmisano et al. Future challenges for vection research: definitions, functional significance, measures, and neural bases. Front. Psychol., 27 February 2015. http://www.frontiersin.org/files/Articles/129184/fpsygD06D00193Dr2/image_m/fpsygD06D00193Dg007.jpg

3 百度百科 https://baike.baidu.com/item/%E6%B7%B1%E5%BA%A6%E7%9F%A5%E8%A7%89

4 Motion Parallax in Psychology: Definition & Explanation https://study.com/academy/lesson/motion-parallax-in-psychology-definition-lesson-quiz.html

5 维基百科 https://en.wikipedia.org/wiki/Binocular_disparity

6 Riecke et al. Auditory self-motion illusions ("circular vection") can be facilitated by vibrations and the potential for actual motion. ACM APGV 2008

7 维基百科 https://zh.wikipedia.org/zh-hans/%E5%89%8D%E5%BA%AD%E7%B3%BB%E7%BB%9F

8 维基百科 https://en.wikipedia.org/wiki/Somatosensory_system

如何增强VR的vection/self-motion?的更多相关文章

  1. VR中为什么需要把游戏音频放在聚光灯里?

    VR中为什么需要把游戏音频放在聚光灯里? 本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/de ...

  2. 2021年Web开发的7大趋势

    技术发展日新月异,所以 Web 开发人员也需要及时了解行业最新的发展趋势. 全球有超过 17.4 亿个网站.在每一个细分领域都有无数企业争夺搜索引擎的排名前列位置.开发人员应该了解和发现更多创新的 W ...

  3. Mozilla公布WebVR API标准草案

    随着信息技术的迅速发展,虚拟现实(Virtual Reality,VR)技术在近些年不断完善,其应用范围也变得十分广泛.为了搭建逼真的虚拟场景,VR技术一般都需要用到大量精美的图像和复杂的动作.因此, ...

  4. 浅谈Android发展趋势分析

    去年11月16.17日,我有幸参加了北京2017安卓技术大会,做了关于车载Android系统的演讲,并主持了诸多大咖参与的圆桌讨论,对Android未来几年的发展趋势进行了一番讨论.来自小米.百度.高 ...

  5. 2019年UX设计新趋势

    UX设计总是在不断变化中.最近短短两年的时间里,我们已经看到,很多地方都大规模采用颠覆性技术,比如语音用户界面,混合现实和智能家居设备.设计这些体验的实际过程可能保持不变,但新技术的出现引发了新的行为 ...

  6. 5G 与 MEC 边缘计算

    目录 文章目录 目录 前言 参考文献 通信网络 核心网演进之路 早古时期 2G 网络架构 3G 网络架构 4G 网络架构 5G 5G 网络的需求 5G 网络架构的设计原则 5G 网络的逻辑架构 5G ...

  7. Leap Motion发布新平台,直击下一代移动端VR/AR手部追踪

    2013年,动作捕捉技术公司Leap Motion发布了面向PC的体感控制器,不过销量并不乐观.随着2014年虚拟现实技术的再一次兴起,它发布一款用于Oculus Rift的附加设备,从而正式登上VR ...

  8. 【VR】Leap Motion 官网文档 FingerModel (手指模型)

    前言: 感谢关注和支持这个Leap Motion系列翻译的朋友们,非常抱歉因为工作原因非常久没有更新,今后这个翻译还会继续(除非官方直接给出中文文档).本篇献给大家的是 <FingerModel ...

  9. 什么是VR中的vection?

    Vection是VR领域的一个专有名词,其义指“在虚拟现实中给人带来‘移动’(self-motion)感觉的认知因素”1.也就是说,vection就是指那些给玩家带来“我正在这个虚拟环境中移动”这种感 ...

随机推荐

  1. ThreadPoolExecutor执行任务,异常日志缺失问题

    之前在使用自定义线程池异步执行耗时任务时,一直记着如果业务方法抛出异常没有捕获,那么是看不到日志框架输出的异常日志的,所以总是在业务方法中包裹一层try-catch捕获可能发生的异常.也未去深入为什么 ...

  2. 理解Js的parseInt(转)

    parseInt() 方法首先查看位置 0 处的字符,判断它是否是个有效数字:如果不是,该方法将返回 NaN,不再继续执行其他操作.但如果该字符是有效数字,该方法将查看位置 1 处的字符,进行同样的测 ...

  3. (一)LinkedList集合解析及手写集合

    一.LinkedList集合特点 问题 结      论 LinkedList是否允许空 允许 LinkedList是否允许重复数据 允许 LinkedList是否有序 有序 LinkedList是否 ...

  4. HYSBZ - 4016 最短路径树问题 点分治 + 最短路径最小字典序

    题目传送门 题解:首先对于给定的图,需要找到那些从1好点出发然后到x号点的最短路, 如果有多条最短路就要找到字典序最小的路,这样扣完这些边之后就会有一棵树.然后再就是很普通的点分治了. 对于扣边这个问 ...

  5. 用mmap做I/O

     1.   Introduction   mmap是Linux中一个相对复杂的函数,仅函数的参数就有6个.但是他也是一个十分强大的函数,在文件I/O,进程间通信,和malloc函数的实现中皆有他的身影 ...

  6. 原来JS是这样的 - 对象属性

    引子 在上一篇(原来JS是这样的 (2))刚发布的时候就阅读了那篇文章的人可能会注意到那篇曾用过"JavaScript 中万物皆对象"的说法,而在随后我发现错误后立即更新改掉了这个 ...

  7. 51NOD 大数加法以及python写法

    练练 大数加法一般为小学生式的"竖式计算"要特别注意的是借位与进位的问题(先给看c++写法,我怕先看了python写法,会看不下去c++写法)这题还有要注意的是 1.同符号的话,直 ...

  8. 你不得不知道的HashMap面试连环炮

    为什么用HashMap? 简述一下Map类继承关系? 解决哈希冲突的方法? 为什么HashMap线程不安全? resize机制? HashMap的工作原理是什么? 有什么方法可以减少碰撞? HashM ...

  9. 全网最实用的 Debug调试技巧汇总-Python大佬偷偷使用的神技

    一.思考❓❔ 1.什么是debug? 找茬 找软件的茬 发现程序的缺陷 2.为什么需要debug? 谁都不敢保证,写的代码没有任何问题 高效查找软件异常 一位优秀的开发工程师 20%的时间写代码 80 ...

  10. Java 多线程实现接口Runnable和继承Thread区别(转)

    Java 多线程实现接口Runnable和继承Thread区别 Java中有两种实现多线程的方式.一是直接继承Thread类,二是实现Runnable接口.那么这两种实现多线程的方式在应用上有什么区别 ...