初识虚拟现实技术,非常倾心,奋力习之,阅《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. Qt 之 样式表的使用——样式选择器(上下篇,很详细)

    http://blog.csdn.net/goforwardtostep/article/details/60884870 http://blog.csdn.net/goforwardtostep/a ...

  2. spring源码深度解析— IOC 之 容器的基本实现

    概述 上一篇我们搭建完Spring源码阅读环境,spring源码深度解析—Spring的整体架构和环境搭建 这篇我们开始真正的阅读Spring的源码,分析spring的源码之前我们先来简单回顾下spr ...

  3. 【Webkit Blog翻译】深入研究WebRTC | 内有福利

    本文译自 A Closer Look Into WebRTC” 我们在最近的一篇 WebKit博客中宣布了对High Sierra平台和iOS中Safari的WebRTC支持.现在,我们希望能够带领大 ...

  4. 精通并发与 Netty (一)如何使用

    精通并发与 Netty Netty 是一个异步的,事件驱动的网络通信框架,用于高性能的基于协议的客户端和服务端的开发. 异步指的是会立即返回,并不知道到底发送过去没有,成功没有,一般都会使用监听器来监 ...

  5. WebGL概述

    WebGL,是一项用来在网页上绘制和渲染复杂三维图形(3D图形),并允许用户与之交互的技术.WebGL基于OpenGL ES 2.0,使用GLSL ES语言编写着色器.而 OpenGL ES (Ope ...

  6. Java多线程同步工具类之Semaphore

    Semaphore信号量通常做为控制线程并发个数的工具来使用,它可以用来限制同时并发访问资源的线程个数. 一.Semaphore使用 下面我们通过一个简单的例子来看下Semaphore的具体使用,我们 ...

  7. 棋盘问题 POJ - 1321(dfs)

    #include<iostream> #include<cstdio> #include<cstring> using namespace std; int n, ...

  8. django基础知识之模板:

    模板介绍 作为Web框架,Django提供了模板,可以很便利的动态生成HTML 模版系统致力于表达外观,而不是程序逻辑 模板的设计实现了业务逻辑(view)与显示内容(template)的分离,一个视 ...

  9. 关于ffmpeg /iis 8.5 服务器下,视频截取第一帧参数配置

    ffmpeg 视频截取第一帧参数配置: 网站找了很多资料,但是都不能满足要求,然后自己写下解决过程. 首先看自己PHP 版本,安全选项里面 php5.4  跟php5.6 是不一样的.去除里面的sys ...

  10. Spring Boot2(十一):Mybatis使用总结(自增长、多条件、批量操作、多表查询等等)

    一.前言 上次用Mybatis还是2017年做项目的时候,已经很久过去了.中途再没有用过Mybatis.导致现在学习SpringBoot过程中遇到一些Mybatis的问题,以此做出总结(XML极简模式 ...