运行平台

    大多数的VR应用都可以在目前多数的PC和手机上运行,基本上一个不太旧的PC或者配置好点的笔记本电脑都可以正常运行Oculus Rift,如果手机的CPU和显卡不错的话也可以有很好的VR体验。对于大众来讲,现有的电脑或者手机再加上VR的眼睛就可以很方便的体验VR,但是对于那种想要体验极致效果的人来讲,估计这次圣诞节礼物清单上就得写上最好的PC、最强大的CPU和显卡了。

    随着VR技术的成熟和普及,VR专业的电脑、手机和游戏主机也开始受到关注,这些专业的VR设备可以展现非常惊人的效果。

    目前,用来开发VR应用的有:各个平台的本地SDK、游戏引擎和开发框架,甚至最新版本的浏览器。

本地SDK

    对于不同的平台会有不同的驱动和链接库,Windows上会是Win32的dll链接库,安卓上会是Java的链接库等等。使用这些SDK可以非常方便的开发应用程序,比如你可以在图形或者游戏性等方面DIY定制。但是大多数开发者会用游戏引擎和开发框架来做VR的应用开发。

游戏引擎和开发框架

    除非你是引擎开发者,否则谁也不会愿意直接用本地SDK来开发应用程序,大多数会用游戏引擎开发,比如Unity3D(第三章会详细介绍)。Unity3D作为中间件,它很好地处理了图形渲染、物理系统、游戏框架以及驱动调用等技术。所以,非常多的VR开发者会使用Unity3D作为他们应用程序的开发工具。

    许多类似的中间件引擎都支持跨平台部署,你只需要编写一次代码,就可以发布在不同平台上,比如PC和手机。这些引擎还拥有一些非常好用的工具,比如等级编辑器和集成开发环境等。

浏览器

    当HTML5技术可以实现在浏览器上运行的应用可以和原生应用性能基本一致时,浏览器的开发人员就开始大力支持VR的开发。不过,支持VR开发这个特性应该会比支持移动端开发这个特性要快很多。

    浏览器支持VR开发会产生两方面影响:第一,这意味着我们可以运用HTML5、WebGL和JavaScript这些技术快速开发VR应用,并且这些应用的跨平台特性非常好。第二,也意味着现有的网站和网页都得提供一个类似超链接的东西,它们会切换到相应的VR页面。

VR视频

    VR视频有它自己另外一套技术,与游戏不同。游戏的图像都是合成的,里面的三维模型、动画、背景等等都是人工建出来的,而VR视频则是拍摄的现实世界内容。VR视频的内容真实感更强,甚至有时候会非常惊人,比如视频中播放的是一个直升飞机飞跃大峡谷的场景,那么观看影片的人就会像真的坐在飞机上一样体验飞行的刺激。当然,VR视频唯一比较局限的就是不能和场景进行交互。

    VR视频拍摄需要多个摄像头(至少两个,如果需要拍摄全景视频,就是360度都可以观看的视频,就需要更多的摄像头)。这个领域的先锋--加州的JauntVR公司,正在尝试着用一组摄像头拍摄第一个全景的VR电影。

    拍摄VR视频目前还处于比较初级的阶段,不过值得庆幸的是有许多公司和研究机构都在致力于发展这项技术。许多VR视频的播放器正在研发之中,它们可以运行在PC或者移动设备上,有的还准备支持跨平台运行。目前开发者面临的一个最大的问题就是没有一个统一的数据格式标准,如果要做视频内容的开发,就得锁定一个硬件供应商,然后使用针对性的技术和软件来制作。

《VR入门系列教程》之4---运行平台的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. 使用C++还是QML(QML容易使用和维护,效果好)

    本质上,Qt 是一个C++类库.在引入 QML 以前,所有的开发都是基于 C++ 的,但到了 Qt 5,QML 和 Qt Quick 成为了 Qt 的核心之一,导致很多初学者在犹豫是否还需要学习 C+ ...

  2. PHP调用语音合成接口

    百度TTS 语音合成 //百度文件转换成语音 private function toSpeech($text) { define('DEMO_CURL_VERBOSE', false); $obj=[ ...

  3. spring通过注解方式依赖注入原理 (私有成员属性如何注入)

    一.spring如何创建依赖的对象 用过spring的都知道我们在dao.service层加上@repository.@Service就能将这两个对象交给spring管理,在下次使用的时候使用@res ...

  4. Free MP3 CD Ripper_缓冲区溢出远程代码执行_CVE-2019-9766漏洞复现

    Free MP3 CD Ripper_缓冲区溢出远程代码执行_CVE-2019-9766漏洞复现 一.漏洞描述 Free MP3 CD Ripper是一款音频格式转换器.Free MP3 CD Rip ...

  5. javaWeb 概念介绍

    一.javaWeb 1.概念:利用java语言进行基于互联网的开发 2.软件架构 (1)C/S   Client/Server  客户端/服务器端 在用户本地有一个客户端程序,在远程有一个服务器程序 ...

  6. Java多线程学习(吐血超详细总结)

    Java多线程学习(吐血超详细总结) 林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 写在前面的话:此文只能说是java多线程的一个入门,其实 ...

  7. PATA 1027 Colors In Mars

    #include <cstdio> char radix[13] = {'0','1','2','3','4','5','6','7','8','9','A','B','C'}; int ...

  8. IIS下网站对options请求直接返回404

    什么是options请求 options请求为发送非简单跨域请求前的预检请求,若该请求未正常返回,浏览器会阻止后续的请求发送. 一般情况下,有三种方式会导致浏览器发起预检请求 1.请求的方法不是GET ...

  9. 8天入门docker系列 —— 第七天 让你的container实现跨主机访问

    当你有若干个容器之后,你可能就希望实现容器的跨机部署访问了,比如aspnetcore在一台host上,mysql在另外一个host上,如果要实现这样的功能,需要你借助 docker自带的overlay ...

  10. 谈谈NOSQL

    从MongoDB引到NOSQL 要讲MongoDB之前,首先要提到一个概念NOSQL(NoSQL = Not Only SQL ) 很大一部分数据是由关系型数据库管理系统(RDMBSs)来处理的,关系 ...