运行平台

    大多数的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. js简单对象List自定义属性排序

    简单对象List自定义属性排序 <script type="text/javascript"> var objectList = new Array(); functi ...

  2. Spring Boot:整合Swagger文档

    综合概述 spring-boot作为当前最为流行的Java web开发脚手架,越来越多的开发者选择用其来构建企业级的RESTFul API接口.这些接口不但会服务于传统的web端(b/s),也会服务于 ...

  3. Laravel --- artisan创建表以及填充表数据流程总结

    1.创建建表文件 php artisan make:migration create_comments_table 打开database/migrations/xxx_create_comments_ ...

  4. PATA 1027 Colors In Mars

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

  5. C++用EGE简单实现别踩白块游戏

    本项目已开源:https://github.com/wmpscc/AvoidBlank 关于EGE 介绍:EGE(Easy Graphics Engine),是windows下的简易绘图库,是一个类似 ...

  6. 39 | 从小作坊到工厂:什么是Selenium Grid?如何搭建Selenium Grid?

  7. jmeter分析性能报告时的误区

    概述 我们用jmeter做性能测试,必然需要学会分析测试报告.但是初学者常常因为对概念的不清晰,最后被测试报告带到沟里去. 常见的误区 分析响应时间全用平均值 响应时间不和吞吐量挂钩 响应时间和吞吐量 ...

  8. CDH CM元数据梳理,包括HIVE

      一.Schema SCM 表结构梳理(对应生产BAOFOO_SCM) AUDITS 登录信息.服务,角色重启.配置更改 PROCESSES 进程信息.这里面有很多信息.开放的web端口. HOST ...

  9. 并发编程-concurrent指南-交换机Exchanger

    java.util.concurrent包中的Exchanger类可用于两个线程之间交换信息.可简单地将Exchanger对象理解为一个包含两个格子的容器,通过exchanger方法可以向两个格子中填 ...

  10. POJ 2987:Firing(最大权闭合图)

    http://poj.org/problem?id=2987 题意:有公司要裁员,每裁一个人可以得到收益(有正有负),而且如果裁掉的这个人有党羽的话,必须将这个人的所有党羽都裁除,问最少的裁员人数是多 ...