什么是虚拟现实?

    虚拟现实的目标:让人们相信真实地处于一个虚拟世界中。要达到这个目标就得让人们的大脑(负责视觉和运动感知部分)欺骗他们。不同技术合在一起才可以创造这种幻觉,包括:
    全立体显示:也称为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. 快速开发平台 WebBuilder 8.4 发布

    WebBuilder是一款强大,全面和高效的应用开发和运行平台.基于浏览器的集成开发环境,可视化和智能化的设计,能轻松完成常规应用和面向手机的移动应用开发.高效.稳定和可扩展的特点,适合复杂企业级应用 ...

  2. Windows10 下运行Linux子系统

    关于Windows10 下运行Linux子系统: Windows10内置Linux子系统初体验:http://www.jianshu.com/p/bc38ed12da1d Win10运行Ubuntu版 ...

  3. leetcode解答索引一期工程:1 - 40题

    更多内容敬请期待.解法是否最优不能保证,但OJ肯定是能过的. 1: Two Sum 2: Median of Two Sorted Arrays 3: Longest Substring Withou ...

  4. 深入理解ES6 - var-let-const

    知识点 var 声明变量: 1.存在变量提升,实际上var无论在哪里声明,都会被当做当前的作用域顶部声明变量. 2.可以重复声明,后声明的变量会覆盖前声明的变量. let 声明变量: 1.不存在变量提 ...

  5. DNS之缓存服务器部署流程

    环境介绍 [root@dns ~]# cat /etc/centos-releaseCentOS release 6.6 (Final)[root@dns ~]# ifconfig eth0|sed ...

  6. 15 BOM的介绍

    avaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:文档对象模型,操作网页上的元素的API.比 ...

  7. 03、MySQL—数据表操作

    1.创建数据表 基本语法:create table 表名(字段名 字段类型 [字段属性], 字段名 字段类型 [字段属性],…) [表选项] 范例:创建数据表 以上错误说明:表必须放到对应的数据库下: ...

  8. Web框架之Django重要组件(Django中间件、csrf跨站请求伪造)

    Web框架之Django_09 重要组件(Django中间件.csrf跨站请求伪造)   摘要 Django中间件 csrf跨站请求伪造 一.Django中间件: 什么是中间件? 官方的说法:中间件是 ...

  9. C语言之父Dennis Ritchie告诉你:如何成为世界上最好的程序员?

    文/Ohans Emmanuel 译/网易云信 想要阅读更多技术干货文章,欢迎关注网易云信博客. 了解网易云信,来自网易核心架构的通信与视频云服务. 我不知道如何成为世界上最好的程序员.但是,我们可以 ...

  10. 长春理工大学第十四届程序设计竞赛(重现赛)I

    I.Fate Grand Order 题目链接:https://ac.nowcoder.com/acm/contest/912/I 题目: Fate Grand Order是型月社发行的角色扮演类手机 ...