初识虚拟现实技术,非常倾心,奋力习之,阅《Learning Virtual Reality》一书之后觉得甚好,但不愿独乐乐,于是翻译之,与大家共同学习。本人学艺不精,难免有翻译不到位的地方,还望大家多多指点,多多包涵。

    ----始于2015.12(Michael Liew)

第一章 简介

    虚拟现实是一个有着巨大潜力的媒介。它开启了一种不可思议的交互和交流方式,可以让人瞬间转移到另一个地方,可以让你完全沉浸在其中,一切感觉起来都会非常真实。可是时至今日,由于造价和一些其它的原因使得虚拟现实仍不能服务于大众。反而,在过去的很多年里,随着科技的进步使得电视、网络和智能手机产生了革命性的影响。

    虚拟现实(即VR)的核心技术有这几方面:3D显示、运动追踪、输入设备、应用框架和开发工具。然而,消费者VR设备才刚起步,目前有:Oculus Rift、三星的GearVR和谷歌纸盒。它们体验效果水平不同,当然也价格不同。

    制作VR内容的软件也如雨后春笋一般出现。Unity3D和虚幻引擎目前都比较流行用来制作PC和手机游戏,它们现在也成了制作原生VR内容的首选。同时,web端的VR也没有落后,WebGL和3D JavaScript(如:Three.js和Babylon.js)提供了一个开源并且基于浏览器的VR解决方案,它们可以支持PC和手机操作系统。

    万分激动,随着越来越多的开发者投身VR研究,越来越多的消费者对它感兴趣,VR一定会掀起下一个计算机技术革命。本书主要针对现在开发VR的人介绍VR硬件、软件、开发技术和接口设计要点。如今的VR还非常不成熟,它就像一个蛮荒,你就是开拓者。未来充满了未知甚至危险,但是我们一定会坚持,相信明天会更好!下面我们来看一看到目前为止我们取得的成绩。

 
图1-1
    图1-1是目前非常出名的Tuscany VR Demo的截图,这个Demo是由Oculus VR团队制作,主要为了展示他们的硬件。带上Oculus Rift然后启动这个Demo,你就会置身于Tuscan场景中,你可以看见漂亮的别墅、懒散飘动的白云,你可以听到鸟儿在歌唱、溪水潺潺的声音。

    使用WASD键(游戏玩家都熟悉)可以在场景中移动,转动你的头就可以看见整个区域,你完全沉浸在一个虚拟的世界当中。这时,向前走然后进入房间,看看四周。走出来,爬上远处的山,你可以看见一个湖。过了几分钟,你甚至忘记了你是处在一个虚拟的世界当中。

    虚拟现实要做的就是让人们完全地沉浸,让他们全身心的体验虚拟世界和虚拟世界里面的事物。现在就开始我们的旅程吧!

《VR入门系列教程》之1---预热篇的更多相关文章

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

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

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

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

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

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

  4. 《VR入门系列教程》之20---使用Oculus移动端SDK

    使用Oculus移动端SDK     在基于安卓系统的GearVR上开发应用需要用到Oculus的移动端SDK,下面的网址可以下载SDK:http://developer.oculus.com     ...

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

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

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

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

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

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

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

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

  9. 《VR入门系列教程》之13---相机与立体渲染

    相机.透视图.视口.投影     渲染好的场景都需要一个可以供用户查看的视图,我们通常在3D场景中用相机来提供这种需求.相机相对场景有位置和方向,就像我们生活中的相机一样,它也提供透视图查看方式,这种 ...

随机推荐

  1. 用Golang让自己的电脑自动登录“上网管理”系统

    用Golang让自己的电脑自动登录 1.缘起 大天朝的网络一般都是只对某些人开放的.上行下效,同样的措施也作用在我们的教育网上.我想不出来,为什么很多领导的总有这样的恶趣味(如果做的到,他们恨不得监控 ...

  2. c# html网页源代码浏览器显示

    //环境VS2008,WIN7SP1 //背景:人人网自动登陆,需要把读取到的html源代码显示出来, //test.txt 为html源代码 private void Form1_Load(obje ...

  3. <房间内功能>打赏小动画

    截图如下 :        功能:   每次点击礼物,都要通过动画显示一个小图标,最多显示两行图标栏,送多次会显示然后再次显示,显示 XX 送给 XX 一个小礼物的动画样式.动画样式效果为,整体动画模 ...

  4. Exceptionless(二) - 使用进阶

    Exceptionless(二) - 使用进阶 作者:markjiang7m2 原文地址:https://www.cnblogs.com/markjiang7m2/p/11100563.html 官网 ...

  5. 【转载】java8中的Calendar日期对象(LocalDateTime)

    Java 8 推出了全新的日期时间API,Java 8 下的 java.time包下的所有类都是不可变类型而且线程安全. 下面是新版API中java.time包里的一些关键类: Instant:瞬时实 ...

  6. CI框架中的奇葩

    今天在win下开发,使用ci框架,本来是没有任何问题,然后转向了mac上开发,结果出现了个奇葩的问题,就是在ci框架中,控制器命名以"Admin_"为前缀的,在url中,控制器也必 ...

  7. 使用docker运行GitLab

    从docker镜像拉取代码,docker pull gitlab/gitlab-ce:latest. 创建/srv/gitlab目录sudo mkdir /srv/gitlab 启动GitLab CE ...

  8. 使用new新建动态二维数组(多注意)

    #include<iostream> using namespace std; int main() { //设想要建立一个rows行,cols列的矩阵 //使用new进行新建 int r ...

  9. 利用mapWithState实现按照首字母统计的有状态的wordCount

    最近在做sparkstreaming整合kafka的时候遇到了一个问题: 可以抽象成这样一个问题:有状态的wordCount,且按照word的第一个字母为key,但是要求输出的格式为(word,1)这 ...

  10. 分布式全局ID生成方案

    传统的单体架构的时候,我们基本是单库然后业务单表的结构.每个业务表的ID一般我们都是从1增,通过AUTO_INCREMENT=1设置自增起始值,但是在分布式服务架构模式下分库分表的设计,使得多个库或多 ...