运行平台

    大多数的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. Qt常见皮肤qss代码(有Metro的风格)

    ##QTabWidget 淡蓝色效果TabWidget(属性值lightblue) QTabWidget[lightblue = "true"] QTabBar::tab{ bor ...

  2. c#与JAVA利用SOCKET实现异步通信的SanNiuSignal.DLL已开源

    大家好,前段时间C#的SanNiuSignal.DLL已开源;因部分用户特需要JAVA版的SanNiuSignal;现在只能把半成品先拿出来暂时给他们用了,以后再慢慢改进; JAVA版目前已实现跟C# ...

  3. qt 自动重启(两种方法)

    所谓自动重启就是程序自动关闭后在重新打开: 一般一个qt程序main函数如下: int main(int argc, char* argv[]) { QApplication app(argc, ar ...

  4. C++ 使用回调函数的方式 和 作用。 持续更新

    先看两个demo: 一.在类test1中调用函数print() ,把print()的函数指针传递给test1的函数指针参数 test1.h: #include <stdio.h> #inc ...

  5. 利用js参数,保持客户端文件的新鲜度

    不知道你是否碰到过如下情况,在服务端更新了一个重要的js文件后,由于浏览器的缓存机制,导致用户始终不能获取到最新的文件,此时的你恨不得有孙悟空吹毛化身的法术,帮用户清除浏览器的缓存.缓存既是程序员的好 ...

  6. notepadd++正则表达式大小写转换

    示例1:将语句 test this sentence 转为大写 查找:^.*$ 替换:\U$0 或------------ 查找:^(.*)$ 替换:\U\1 或 \U$1 示例2:将语句 TEST ...

  7. 管理分布式session的四种方式。

    应用服务器的高可用架构设计最为理想的是服务无状态,但实际上业务总会有状态的,以session记录用户信息的例子来讲,未登入时,服务器没有记入用户信息的session访问网站都是以游客方式访问的,账号密 ...

  8. 上手更快的网络文件系统 —— oxfs

    什么时候需要网络文件系统? 做嵌入式的同学经常会使用 NFS 讲 host 上的某个目录挂载到开发板上,方便 host 上编译构建后能直接在板子上运行,减少手工拷贝操作. 网站开发时,在 host 上 ...

  9. CentOS7.x mini安装OVS

    命令均在root用户下运行: 一.关闭防护墙及selinux sed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config setenfor ...

  10. hive 常用的 join 操作 实例

    test_a 表 id value 1 java 2 python 3 c++ test_b 表 id value 1 java 2 go 3 php 4 c++ 1. join 计算的是笛卡尔积,不 ...