运动追踪设备

    第二种可以使人脑相信它真实处于虚拟世界的关键技术就是运动追踪技术,它可以通过追踪头部的运动状态实时更新渲染的场景。这与我们在真实世界中观看周围非常类似。

    高速的惯性测量单元(IMU)是Oculus
Rift的发明之一,它被用于快速的头动追踪。IMU结合了陀螺仪、加速度计(或者磁力计,类似现在手机中使用的重力感应装置),可以精确测量转动的变化。

    头部运动追踪非常重要,有可能比立体显示还重要,因为我们的感觉系统对运动非常敏感,如果在头部移动时图形显示出现延迟,那么就会破坏沉浸感,甚至引起恶心反应。

    虚拟现实的IMU设备必须快速追踪头部运动,同时相应软件也得跟上,只有当立体渲染和运动追踪很好的结合起来使图形刷新帧率足够高,才可以是虚拟现实体验达到一种真正意义上的沉浸感。

输入设备
    在获得完全的沉浸感时,头显设备必须完全罩在眼睛前面,用户完全看不见外面。这样用户在做输入的时候就非常滑稽:他们必须使用“盲打”,因为他们根本看不见鼠标键盘。体验过Oculus
Rift的人都应该了解,他们必须让旁边的人帮助他们找到WASD键才可以在虚拟场景里面行走。

    大多数时候,让用户蒙着眼睛操作鼠标键盘非常不人性化,所以,人们就开始做一些研究,研究哪种输入方式才可以提供更好的沉浸体验:

    游戏手柄:比如微软的Xbox One和索尼的PS4,它们的游戏手柄可以连接电脑用来控制游戏。

    手部运动感应设备:这几年,出现了一些价格合适的运动感应设备,包括Leap Motion和NimbleVR。这些设备通过感应手部运动识别手势,不需要手直接接触设备,就像Xbox Kinect一样。

    无线体感设备:例如Sixense的全身体感设备STEM和雷蛇的Hydra。这些设备和游戏手柄类似会有些按钮,但是它也具有运动感应功能,有点像魔法棒。

    目前,仍没有一个很好的VR交互方式。因为,交互方式比较大的受应用程序和操作系统的限制。现在还不清楚哪种输入设备会成为“VR中的鼠标”,有可能会是或者类似上面讲的输入方式之一,也有可能不是。与此同时,对于虚拟现实的输入方式的研究非常火热,非常期待过几年在这方面会有更多的创新。

《VR入门系列教程》之3---运动追踪与输入设备的更多相关文章

  1. 《VR入门系列教程》之1---预热篇

     序     初识虚拟现实技术,非常倾心,奋力习之,阅<Learning Virtual Reality>一书之后觉得甚好,但不愿独乐乐,于是翻译之,与大家共同学习.本人学艺不精,难免有翻 ...

  2. 《VR入门系列教程》之2---VR头显

    什么是虚拟现实?     虚拟现实的目标:让人们相信真实地处于一个虚拟世界中.要达到这个目标就得让人们的大脑(负责视觉和运动感知部分)欺骗他们.不同技术合在一起才可以创造这种幻觉,包括:     全立 ...

  3. 《VR入门系列教程》之14---面向大众的Unity3D

    大众化的游戏引擎--Unity3D     并不是所有VR应用都是游戏,然而现在做VR开发的几乎都会用专业游戏引擎来做,因为游戏引擎既满足了一个引擎的要求又可以方便地制作出高品质的VR应用.一个游戏引 ...

  4. 《VR入门系列教程》之19---GearVR开发初识

    本章我们来介绍一下如何在移动VR设备的佼佼者GearVR上进行开发,之前我们在桌面端的VR开发想法可以直接应用在移动端,但是仍然会有些不一样的技术需要注意.这次,我们仍然采用Unity3D引擎构建示例 ...

  5. 《VR入门系列教程》之18---Oculus代码剖析

    代码剖析 原文作者:Tony Parisi     那么,Unity究竟是如何支持Oculus VR运行的?首先,我们来看看Unity场景是如何构建的.在Unity集成开发包中有一个相机预设体,这个预 ...

  6. 《VR入门系列教程》之10---3D图形学初识

    第三章 基于Oculus Rift开发桌面端VR应用     接下来的几个章节中我们会进行VR开发的实际操练,本章就从Oculus Rift开发开始,我们会介绍如何开发一个桌面端的VR应用.虽然只是介 ...

  7. 《VR入门系列教程》之9---谷歌纸盒

    谷歌纸盒---基于智能手机的廉价VR眼镜     如果用汽车来做类比,Oculus Rift和GearVR就是特斯拉和兰博基尼,它们物美但是价不廉.要是主机性能不好,那么几百美元的Oculus眼镜就是 ...

  8. 《VR入门系列教程》之8---GearVR

    高端移动虚拟现实设备---三星GearVR     Oculus Rift也许是虚拟现实头显的典范,但是它还是存在许多问题.首先,它需要基于一个具有强大图形计算能力的计算机,而使用一般的笔记本.苹果A ...

  9. 《VR入门系列教程》之7---DK2和Crescent Bay

    The DK2     于2014年春,Oculus发布了第二代开发版头显设备,代号为DK2.与DK1相比,Oculus Rift DK2的外观有很大改进,并且轻了许多,体积仍然比较大,可以罩住大部分 ...

随机推荐

  1. elasticsearch.yml 常用参数说明

    cluster.name: 指定node所属的cluster. node.name: 本机的hostname. node.master: 是否可以被选举为master节点.(true or false ...

  2. 生产环境MySQL优化

    a:硬件的优化: 1. 采用64位cpu,cpu至少4颗,L2缓存越大越好2. 内存要大,32-64G运行1-2个实例,96-128G运行3-4个实例3. 机械盘选用sas盘,转速15000以上,有可 ...

  3. 向HashMap中添加1000个元素,设置new HashMap()值为多少合适?

    在已知元素容量的情况下,为了尽量减少碰撞增加查询效率,应该尽量选择较大数的同时避免资源浪费. HashMap底层通过hash值来计算索引位置的源码: 1.重新计算hash值 static final ...

  4. web页面加载速度缓慢,如何优化?

    参考博客: https://www.cnblogs.com/xp796/p/5236945.html https://www.cnblogs.com/MarcoHan/p/5295398.html - ...

  5. yii中find()指定条件

    find()查找指定的条件 $modelName::model->find(); 使用条件对象 $criteria = new CDbCriteria(); $criteria->sele ...

  6. Asp.net HttpClient Proxy(Fiddler)

    <system.net> <defaultProxy> <proxy bypassonlocal="False" usesystemdefault=& ...

  7. Python基础(八) 模块的引入与定义

    模块定义 什么是模块:一个py文件就是一个模块 模块分为三类: 内置模块,(标准库):.python解释器自带的,time,os,sys,等等.200多种. 自定义模块:自己写的模块 第三方库(模块) ...

  8. js避坑历险记

    代码改变世界,世界改变码农,码农改变代码! 我就是我,我就是一个码农的武林. 前方JS巨坑出没,请注意集中力! 巨坑1:js精度问题 前段时间去一家物流公司面试,做了一个js题,印象尤为深刻: var ...

  9. python 如何在某.py文件中调用其他.py内的函数

    A.py的文件需要调用B.py文件内的test函数 同一目录下: A.py #!/usr/bin/env python # -*- coding: utf- -*- def test(): ''' 测 ...

  10. R语言实战(第2版)PDF完整版带书签目录

    <R语言实战2>PDF+源代码 下载:https://pan.baidu.com/s/1gP_16Xq9eVmLJ1yOsWD9FA 提取码:l8dx 分享更多python数据分析相关电子 ...