本节书摘来自华章出版社《Unity虚拟现实开发实战》一书中的第3章,第3.1节虚拟现实设备集成的软件,作者[美] 乔纳森·林诺维斯,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

**第3章
虚拟现实的构建和运行**
很好,非常酷,但是我的虚拟现实在哪里?我要我的虚拟现实!
别急,孩子,马上就有。
本章中,我们将建立一个可以构建并运行于虚拟现实头盔显示器之中的项目,然后会详细讨论虚拟现实硬件技术的运行原理,将涉及下列话题:
虚拟现实设备集成软件的范围。
为虚拟现实设备安装和构建一个项目。
用于虚拟现实技术运行原理的细节和定义术语。
本书中的项目不需要按顺序实现,可以自由地跳章阅读,因为后一章并不依赖于前一章。然而本章例外,请在阅读余下章节之前先实现MeMyselfEye预制件和Clicker类。

3.1虚拟现实设备集成的软件
在深入讨论之前,我们先了解几种将我们的Unity项目集成进虚拟现实设备的方式。一般来说,Unity项目必须包含一个摄像机对象,用于渲染两套立体视图,在虚拟现实头盔中为眼睛提供视图。
用于虚拟现实硬件中集成程序的软件范围很广,从内置的支持软件和设备特有的接口到不依赖于设备和平台的软件。

3.1.1Unity对虚拟现实的内置支持
Unity 从5.1开始,已经内置了对虚拟现实头盔的支持。写本书之时,它已经可以直接支持Oculus Rift和三星的Gear VR(由Oculus的软件驱动),对其他设备的支持也已经宣布了,其中包括索尼的PlayStation Morpheus。你可以使用标准的摄像机组件,比如附加到Main Camera的和标准的人物角色资源预制件。当你构建的项目在Player Settings中开启Virtual Reality Supported时,Unity会将立体摄像机视图渲染并运行于头盔显示器上。

3.1.2设备特有的SDK
如果Unity没有直接支持某款设备,这个设备商将有可能发布一个Unity插件包。使用设备特有接口的一个好处是可以直接利用下层硬件的特性。
例如,Steam Valve和Google就为Vive和Cardboard提供了设备特有的SDK和Unity包。如果你正在使用上述的其中一款设备,那么你很可能需要使用它的SDK和Unity包。(写本书之时,这些设备未被Unity内置的虚拟现实支持。)而对于Oculus,Unity 5.1中直接支持,提供了SDK工具包以调用其接口。
设备特有的软件锁定其只能构建到指定的设备上,如果这对你来说是个问题,那么你要么写点聪明的代码,要么用接下来几条途径替代。

3.1.3开源虚拟现实项目
2015年1月,雷蛇有限公司(Razer Inc)领导一些行业领袖宣布了开源虚拟现实(OSVR)平台更多内容请参见http://www.osvr.com/),计划开发开源的硬件和软件,其中包括来自于不同厂商而可运行于多种设备的SDK。这个开源中间件项目提供了不依赖于设备的SDK(和Unity包),这样一来你就可以在代码中使用一个接口而不用去关心用户使用什么设备了。
使用OSVR可以为特定的操作系统(比如Windows、Mac和Linux)构建Unity游戏,并且可以让用户根据其使用的硬件来配置(下载之后的)应用程序。写本书之时,此项目还处于其早期阶段,快速发展中且尚不适用于本书,但是我鼓励你关注它的发展。

3.1.4WebVR
WebVR是一个JavaScript API,正在被集成进主流的网页浏览器。就像WebGL(用于Web的2D和3D图形API)对虚拟现实渲染和硬件的支持。现在Unity 5 已经引入了对WebGL的构建支持,我相信WebVR的支持也会随之而来,不是Unity就是第三方开发者。
我们知道,浏览器几乎运行于任何平台。所以,如果你的游戏的目标平台是WebVR,那么你不需要关心用户的操作系统,更不必关心用户使用的是什么虚拟现实硬件了!总之,就是这个意思。新的技术,比如即将到来的WebAssembly,是一种新的用于Web平台上的二进制格式,能够帮助获取你的硬件的最佳性能,并且能够让基于Web的虚拟现实可行。

3.1.53D世界
有一些第三方的3D世界平台提供多用户在共享虚拟空间中的社交体验,你可以与其他玩家聊天,通过入口(portals)在不同房间中移动,甚至不需要成为专家就可以构建复杂的交互和游戏。
举个例子来说,VRChat让你可以在Unity中开发3D空间和虚拟角色,用VRChat的SDK导出,然后加载进VRChat,其他人就可以在社交虚拟现实体验中通过互联网分享实时。我们将在第10章继续探究。

《Unity虚拟现实开发实战》——第1章,第3.1节虚拟现实设备集成的软件相关推荐

  1. 《Unity虚拟现实开发实战》——第1章,第1.8节小结

    本节书摘来自华章出版社<Unity虚拟现实开发实战>一书中的第1章,第1.8节小结,作者[美] 乔纳森·林诺维斯,更多章节内容可以访问云栖社区"华章计算机"公众号查看. ...

  2. 《Unity虚拟现实开发实战》——第3章,第3.6节虚拟现实设备的运行原理

    本节书摘来自华章出版社<Unity虚拟现实开发实战>一书中的第3章,第3.6节虚拟现实设备的运行原理,作者[美] 乔纳森·林诺维斯,更多章节内容可以访问云栖社区"华章计算机&qu ...

  3. 我的作品之《Unity虚拟现实开发实战》,翻译自《Unity Virtual Reality Projects》

    Jonathan Linowes (作者), 童明 (译者) 文中示例代码下载 : http://download.csdn.net/detail/cuit/9719593 亚马逊 京东 China- ...

  4. Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序

    Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序 C#原本是用来编写Windows以及Windows Phone的应用程序.自从Xamarin问世后,C#的作用就发生了很大的变化. ...

  5. unity应用开发实战案例_Unity开发实战游戏教学案例分享

    进行项目实战是快速入门或提升Unity开发的关键.Asset Store资源商店中,有大量完整项目模板和教学案例,帮助您通过项目实战,让你体会到Unity开发的成就感. 本文我们为大家准备了三款实战游 ...

  6. 【项目开发实战】第二章——在线商城系统

    系列文章目录 第一章--AI人机对战版五子棋游戏 第二章--在线商城系统 文章目录 系列文章目录 前言 1.项目介绍 2.项目规划分析 2.1 电子商务的简要介绍 2.2 在线博客+商城系统构成模块 ...

  7. unity应用开发实战案例_Unity3D游戏引擎开发实战从入门到精通

    Unity3D游戏引擎开发实战从入门到精通(坦克大战项目实战.NGUI开发.GameObject) 一.Unity3D游戏引擎开发实战从入门到精通是怎么样的一门课程(介绍) 1.1.Unity3D游戏 ...

  8. unity应用开发实战案例_Unity游戏案例开发大全 (吴亚峰等著) 完整pdf高清版[31MB]...

    随着智能手机的普及,一些可玩性强的手机游戏应用也逐渐普及开来.<Unity游戏案例开发大全>结合作者多年从事游戏应用开发的经验,详细地介绍了10款Unity 3D游戏案例的开发,主要内容如 ...

  9. unity应用开发实战案例_「简历」STAR法则的实战应用,附手把手教学案例

    关注@应届生求职网,了解更多求职信息 本文共2072字,预计阅读需3分钟 本期分享导师-Anna_青云导师 51Job职场导师 知乎职场千赞答主 多年猎头及多行业人力资源管理经历 职业生涯规划师.职业 ...

  10. Unity 编辑器开发实战【Custom Editor】- FSM Editor

    本文介绍如何为FSM有限状态机模块实现一个自定义编辑器面板,FSM的详细代码在上一篇文章中有介绍,链接地址: 在Unity中构建FSM有限状态机 下面是最终效果: 首先,自定义一个编辑器面板,需要用到 ...

最新文章

  1. 放弃51单片机,直接学STM32开发会有什么严重的问题?
  2. R语言ggplot2可视化:ggplot2可视化使用labs函数为可视化图像添加(caption)图片说明文字、theme_bw中指定参数base_size来改变图片说明文字、轴标签等的大小
  3. 前端之Bootstrap框架
  4. 企业定时任务调度器Quartz,定时查询数据库(这里还需要继续做研究)
  5. 漫谈C#编程语言在游戏领域的应用
  6. Qt笔记-Q_UNUSED解决编译器unused paramenter告警
  7. Ubuntu下vscode配置OpenGL(使用glfw+glad)
  8. java java -cp_java -cp用法
  9. scrapy爬虫实战:伪装headers构造假IP骗过ip138.com
  10. 山寨手机给正规手机仅仅是冲突吗?相互学习,正规国产机就不愁翻身。
  11. 走进tensorflow第九步——WARNING(警告)也值得关注
  12. JavaScript权威指南7(四) 第十一章 JavaScript 标准库
  13. 苹果手机扫描文件并转换格式,怎么把扫描文件转换成文字,扫描出来的文件格式换个可以复制的文字
  14. 干货|软件开发,小步真能快跑吗?
  15. 青龙面板薅羊毛教程之矿二代每日保底1R
  16. 二级c语言程序基础知识,计算机二级《C语言》基本知识点
  17. iOS 内购提示不允许App内购买项目,打开内购方式和检测不允许内购的方法。
  18. STM32HAL库定时器中断关闭的方法
  19. PMI-ACP练习题(23)
  20. 旅游企业财务管理【2】

热门文章

  1. linux mysql5.6数据目录,Linux下Mysql5.6 二进制安装过程
  2. gogs app.ini文件配置项说明
  3. 电脑的USB口给手机充电为什么很慢
  4. 设置 phpstorm 左侧文件自动定位到当前编辑的文件
  5. 工作中的注意事项、细节
  6. Cause: the class org.apache.tools.ant.taskdefs.optional.junit.JUnitTask was not found
  7. WORD出错:UNDO之后布局错乱
  8. 全网首发:JProfiler11运行时找不到库的解决办法
  9. FFMPEG编译ffplay
  10. 解决办法:VirtualBox只能安装32位的问题