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

简介:

本节书摘来自华章出版社《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章继续探究。

相关文章
|
2月前
|
算法 vr&ar C#
使用Unity进行虚拟现实开发:深入探索与实践
【8月更文挑战第24天】使用Unity进行虚拟现实开发是一个充满挑战和机遇的过程。通过掌握Unity的VR开发技术,你可以创造出令人惊叹的VR体验,为用户带来前所未有的沉浸感和乐趣。随着技术的不断进步和应用场景的不断拓展,VR开发的未来充满了无限可能。希望本文能为你提供有用的指导和启发!
|
1月前
|
vr&ar 图形学 API
Unity与VR控制器交互全解:从基础配置到力反馈应用,多角度提升虚拟现实游戏的真实感与沉浸体验大揭秘
【8月更文挑战第31天】虚拟现实(VR)技术迅猛发展,Unity作为主流游戏开发引擎,支持多种VR硬件并提供丰富的API,尤其在VR控制器交互设计上具备高度灵活性。本文详细介绍了如何在Unity中配置VR支持、设置控制器、实现按钮交互及力反馈,结合碰撞检测和物理引擎提升真实感,助力开发者创造沉浸式体验。
71 0
|
1月前
|
图形学 iOS开发 Android开发
从Unity开发到移动平台制胜攻略:全面解析iOS与Android应用发布流程,助你轻松掌握跨平台发布技巧,打造爆款手游不是梦——性能优化、广告集成与内购设置全包含
【8月更文挑战第31天】本书详细介绍了如何在Unity中设置项目以适应移动设备,涵盖性能优化、集成广告及内购功能等关键步骤。通过具体示例和代码片段,指导读者完成iOS和Android应用的打包与发布,确保应用顺利上线并获得成功。无论是性能调整还是平台特定的操作,本书均提供了全面的解决方案。
109 0
|
2月前
|
vr&ar 图形学 开发者
步入未来科技前沿:全方位解读Unity在VR/AR开发中的应用技巧,带你轻松打造震撼人心的沉浸式虚拟现实与增强现实体验——附详细示例代码与实战指南
【8月更文挑战第31天】虚拟现实(VR)和增强现实(AR)技术正深刻改变生活,从教育、娱乐到医疗、工业,应用广泛。Unity作为强大的游戏开发引擎,适用于构建高质量的VR/AR应用,支持Oculus Rift、HTC Vive、Microsoft HoloLens、ARKit和ARCore等平台。本文将介绍如何使用Unity创建沉浸式虚拟体验,包括设置项目、添加相机、处理用户输入等,并通过具体示例代码展示实现过程。无论是完全沉浸式的VR体验,还是将数字内容叠加到现实世界的AR应用,Unity均提供了所需的一切工具。
68 0
|
2月前
|
开发者 持续交付 Android开发
Xamarin开发者的秘密武器:如何通过持续集成与持续部署(CI/CD)实现高效、高质量的软件交付
【8月更文挑战第31天】在当今追求高效、高质量软件交付的时代,Xamarin开发者需像大厨般迅速烹制数字化佳肴,而持续集成(CI)与持续部署(CD)则是关键工具。CI要求开发者频繁将代码集成到共享仓库,利用自动化工具如Azure Pipelines或Jenkins自动编译、测试代码,确保质量。CD在此基础上进一步实现自动化部署,简化从开发到生产的全过程。借助如Visual Studio App Center这样的工具,Xamarin项目得以快速构建、测试并部署至Android和iOS平台,显著提升开发效率和代码质量,助力团队乘风破浪,驶向成功的彼岸。
28 0
|
2月前
|
前端开发 Java UED
JSF遇上Material Design:一场视觉革命,如何让传统Java Web应用焕发新生?
【8月更文挑战第31天】在当前的Web开发领域,用户体验和界面美观性至关重要。Google推出的Material Design凭借其独特的动画、鲜艳的颜色和简洁的布局广受好评。将其应用于JavaServer Faces(JSF)项目,能显著提升应用的现代感和用户交互体验。本文介绍如何通过PrimeFaces等组件库在JSF应用中实现Material Design风格,包括添加依赖、使用组件及响应式布局等步骤,为用户提供美观且功能丰富的界面。
33 0
|
3月前
|
编解码 数据挖掘 测试技术
对于大屏幕显示系统工程,这通常涉及到硬件(如显示器、投影仪、控制器等)和软件(如内容管理系统、控制软件等)的集成。
对于大屏幕显示系统工程,这通常涉及到硬件(如显示器、投影仪、控制器等)和软件(如内容管理系统、控制软件等)的集成。
|
4月前
|
传感器 安全 物联网
物联网(IoT)设备的硬件选型与集成技术博文
【6月更文挑战第28天】物联网设备硬件选型与集成聚焦关键要素:功能匹配、性能稳定性、兼容扩展及成本效益。嵌入式系统、通信协议、数据处理和安全性技术确保集成效果,支撑高效、智能的IoT系统,驱动家居、城市与工业自动化变革。
|
3月前
|
测试技术 数据库 Python
在系统工程中,软件测试是一个至关重要的环节,它确保软件的质量、可靠性和性能。软件测试通常包括多个阶段,如单元测试、集成测试、系统测试和验收测试等。
在系统工程中,软件测试是一个至关重要的环节,它确保软件的质量、可靠性和性能。软件测试通常包括多个阶段,如单元测试、集成测试、系统测试和验收测试等。
|
3月前
|
传感器 机器学习/深度学习 监控
在视频监控和防盗报警系统工程中,通常包括硬件(如摄像头、传感器、报警器等)和软件(如监控软件、报警管理软件等)的集成。
在视频监控和防盗报警系统工程中,通常包括硬件(如摄像头、传感器、报警器等)和软件(如监控软件、报警管理软件等)的集成。
下一篇
无影云桌面