什么是虚拟现实?

    虚拟现实的目标:让人们相信真实地处于一个虚拟世界中。要达到这个目标就得让人们的大脑(负责视觉和运动感知部分)欺骗他们。不同技术合在一起才可以创造这种幻觉,包括:
    全立体显示:也称为3D显示或者头显(HMD)。这种显示方式结合的使用了多图像处理、反畸变技术和凸透镜片来让人眼看到深度信息,如此就形成了立体的图形。
    移动追踪硬件:陀螺仪、加速度计以及其它一些组件被用在虚拟现实技术中,这些可以感应我们的身体移动和头部转动,有了这些以后应用程序就可以实时更新需要绘制的图形。
    输入设备:虚拟现实的输入设备不同于传统的方式,它不能简单的用鼠标键盘来输入,而需要创新,比如:手柄、运动传感识别和手势识别等。
    部署终端:包括:计算机硬件、操作系统、支持虚拟现实软件运行的驱动和引擎以及构建这些的工具。
虚拟现实离开了以上四个任何一个条件都达不到完全沉浸的体验。本书后面章节都会围着这四个方面深入探讨,接下来会简单介绍一下这几个方面。

全立体显示

    让人眼感受到具有深度信息的持续的3D渲染是虚拟现实最重要的部分。为了达到这个效果,虚拟现实设备都需要借助一个立体显示设备(也称为3D显示或者头显)。

    过去,消费者虚拟现实设备一直没法推广,其原因是没有价格低廉并且长时间佩带舒适的头显设备。这个局面被OculusVR团队戏剧性的改变了,他们在2012年推出的Oculus Rift这款产品在具有立体显示功能并且内置头动追踪设备,这款产品不仅轻巧而且售价只有几百美元。尽管Oculus Rift第一版(DK1)的分辨率还很低,但这也足以引起一场产业风暴。新版本的Oculus Rift(如图1-2所示的DK2),分辨率、移动追踪性能和显示效果都有所提升。
 
图1-2
    那么,Oculus Rift具体都做了哪些呢?第一,为了产生深度信息,它给每个眼睛生成一张图片,这两张图片在视觉上有一点点偏移量,这样就可以模拟人眼的视差,所谓视差就是人脑处理在不同位置看到的物体而产生的深度信息。第二,产生更好的视觉效果,它将图片扭曲从而模拟人眼的球形表面,通过桶形畸变技术可以达到这个效果。

    有了以上这些技术,Tuscany VR Demo场景在虚拟现实设备中就会看起来如图1-3这样,图1-3是Oculus Rift链接电脑以后通过电脑屏幕看到头显中的真实图像。
 
图1-3
    从软件的角度出发,Oculus Rift的任务就是将例如图1-3的图片每分钟绘制60次(最好可以达到120次),这样就可以避免明显的延迟。如果画面出现延迟,VR的体验就会大打折扣,甚至会引起呕吐反应。具体如何做到没有延迟会在接下来的章节中介绍。

    除了Oculus Rift还有其它的头显设备,我们会在下章介绍。这些头显设备有的运行在PC上,有的运行在移动设备上,有的只能在游戏主机上运行。它们价格不等,品质良莠不齐,不过作为消费者VR设备,我认为Oculus Rift应该是最好的。

《VR入门系列教程》之2---VR头显的更多相关文章

  1. 《VR入门系列教程》之3---运动追踪与输入设备

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

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

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

  3. 《VR入门系列教程》之17---发布第一个应用

    发布运行     Unity可以支持多种目标平台的发布,包括:桌面端.Web端.移动端.游戏主机端.     发布运行之前的Cubes场景至桌面端,我们先选择File->Build Settin ...

  4. 《VR入门系列教程》之16---第一个OculusVR应用

    第一个VR应用    之前我们已经将Oculus的开发包导入到空工程中了,现在我们来构建第一个桌面VR的示例.开发包中已经有一个示例场景,只需要几步就可以让这个场景运行起来.我们将要构建的这个Demo ...

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

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

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

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

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

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

  8. 《VR入门系列教程》之6---VR硬件介绍及DK1

    第二章 VR硬件介绍     本章主要介绍当前比较流行的消费版VR设备,包括VR头显以及应用运行的PC和手机平台.     即使是在这工业高速发展的时代,一些大厂(比如Facebook的Oculus ...

  9. 《VR入门系列教程》之5---应用方向

    VR应用方向     面向消费者的虚拟现实才发展了几年,就出现了大量应用程序,虚拟现实抓住了人们对未来的渴望.开发者甚至想要把整个现实世界都做成虚拟现实,这些都是可以理解的.     但是,现在仍然没 ...

随机推荐

  1. Redis相关面试题

    Reids:单线程+io多路复用机制 Redis与Memcached的区别: 一.memcached值是简单字符串,redis支持hash.set.list等复杂数据类型 二.redis可持久化数据, ...

  2. 计算广告之CTR预测--PNN模型

    论文为:Product-based Neural Networks for User Response Prediction 1.原理 给大家举例一个直观的场景:比如现在有一个凤凰网站,网站上面有一个 ...

  3. Python程序中的协程操作-gevent模块

    目录 一.安装 二.Gevent模块介绍 2.1 用法介绍 2.2 例:遇到io主动切换 2.3 查看threading.current_thread().getName() 三.Gevent之同步与 ...

  4. 你真的会用mysql行级锁吗?mysql 行级锁全解析

    在互联网大并发应用大行其道的今天,应用的开发总是离不开锁,在分布式应用中,最常见的莫过于基于数据库的行级锁了,由于互联网公司中比较主流的数据库还是mysql,所以这一话题绕不开的就是mysql了,但是 ...

  5. BFS(五):八数码难题 (POJ 1077)

    Eight Description The 15-puzzle has been around for over 100 years; even if you don't know it by tha ...

  6. mysql双机热备实现方案

    一.概念 1.热备份和备份的区别 热备份指的是:High Available(HA)即高可用,而备份指的是Backup,数据备份的一种.这是两种不同的概念,应对的产品也是两种功能上完全不同的产品.热备 ...

  7. ZooKeeper入门(四) Zookeeper监视(Watches)

    1 简介 Zookeeper 所有的读操作——getData(), getChildren(), 和 exists() 都 可以设置监视(watch),并且这些watch都由写操作来触发:create ...

  8. Spring Bean 生命周期之destroy——终极信仰

    上一篇文章 Spring Bean 生命周期之我从哪里来 说明了我是谁? 和 我从哪里来? 的两大哲学问题,今天我们要讨论一下终极哲学我要到哪里去? 初始化 Spring Bean 有三种方式: @P ...

  9. Linux命令学习-ls命令

    Linux中,ls命令的全称是list,主要作用是列出当前目录下的清单. 列出Linux根目录下的所有目录 ls / 列出当前目录下所有文件夹和文件 ls 列出当前目录下所有文件夹和文件(包括以&qu ...

  10. linuxprobe培训第2节课笔记2019年7月6日

    使用VM虚拟机配置RHEL实验环境. 鉴于在笔记本上装过centos7,这章内容难度对我来说不是很大. 重置root管理员密码(RHCSA考题,第一题,做不出来无法进行下一步考试) e linux16 ...