Unity虚拟现实开发实战
批量上传,套装书可能不全,下单前咨询在线客服!有特殊要求,下单前请咨询客服!
¥
26.33
4.5折
¥
59
全新
库存3件
作者(美)乔纳森·林诺维斯
出版社机械工业出版社
ISBN9787111551317
出版时间2016-11
装帧平装
开本16开
定价59元
货号24147321
上书时间2024-11-01
商品详情
- 品相描述:全新
- 商品描述
-
前言
Preface 前言如今,我们正见证着虚拟现实(VR)的迅猛发展,这是一项令人激动的技术,它有望改变我们与信息、朋友和整个世界进行交互的基本方式。 什么是消费级虚拟现实?戴上一个头盔显示器(比如护目镜),你可以观看立体3D场景,你可以通过移动头部向四周看以及通过使用手持控制或动作传感器四处走动,你可以拥有完整的沉浸式体验。这就像你真的在某个虚拟世界中一样。 本书通过实战的、基于项目的方式教你使用Unity 3D游戏引擎开发虚拟现实的细节。我们通过一系列实战工程、循序渐进的教程,并使用Unity 5和其他免费或开源软件进行深入讨论。而VR技术正在快速发展,我们将试着获取基本的原则和技巧,以便使你能够让自己的VR游戏和应用程序具有沉浸感和舒适感。 你将学习如何使用Unity开发可以用Oculus Rift或者Google Cardboard这样的设备体验的VR应用程序。我们将涵盖技术上对于VR来说重要且可能独一无二的考虑。读完本书后,你将有能力用Unity开发丰富的、交互性的虚拟现实体验程序。 本书的主要内容第1章介绍消费级虚拟现实(VR)中关于游戏和非游戏应用程序的新技术和新机遇。 第2章讨论如何构建一个简单的透视图场景。本章介绍了Unity 3D 游戏引擎和用于3D建模的Blender,并探索了世界坐标系和缩放比例的问题。 第3章帮助你配置项目以便运行于VR头盔,比如Oculus Rift和Google Cardboard(Android或iOS)。然后,我们深入了解VR硬件和软件如何运行的细节。 第4章探讨了场景中的VR摄像机与对象的关系,包括3D光标与基于凝视的射线枪。本章还包括使用C#编程语言编写Unity脚本。 第5章实现了很多VR的用户界面(UI)例子,包括一个平视显示器(HUD)、信息框,以及带有很多代码和说明的游戏中的对象。 第6章剖析Unity的人物角色对象和组件,它们用于构建我们自己的带有基于凝视的导航功能的人称角色。然后,我们将探讨拥有一个人称虚拟身体的体验,并考虑晕动症的问题。 第7章在我们通过若干个VR项目案例和游戏学习使用作用力和重力的同时,深入了解Unity的物理引擎、组件及材质。 第8章帮助我们构建一个3D架构的空间和实现虚拟的漫游。我们还讨论了Unity中的渲染和性能优化。 第9章利用全部的360霸诟髦窒钅恐惺褂?60岸嗝教澹渲邪ǖ厍蛞恰⑷巴肌⒄掌颉N颐腔固致哿怂堑脑怼?第10章探讨了使用Unity 5的网络组件带VR功能的多玩家实现。我们还看了VRChat作为一个用于社交式VR的可扩展平台的例子。 第11章展望VR技术。 准备工作在我们开始前,你将需要完成一些工作。随便吃点东西,一瓶水或一杯咖啡。除了这些,你还需要一台安装了Unity 3D游戏引擎的PC(Windows或Mac)。 你不需要超级性能的配置,因为Unity可以像猛兽一样渲染复杂的场景,而Oculus已经发布了推荐的PC硬件规格,你可以用较少的钱获取到。甚至一台笔记本就可以完成本书中的项目。要想获取Unity,访问https://unity3d.com/get-unity/,选择你想用的版本,点击Download Installer,然后继续按照说明操作即可。选择Unity的免费个人版本就行。 我们还可以选择使用Blender开源项目进行3D建模。本书不是关于Blender的著作,但是如果你需要的话,我们可以使用它。要获取Blender可以访问http://www.blender.org/download/,根据你的系统平台按照说明下载。 建议拥有一台虚拟现实头盔显示器(HMD)以便试运行你的构建成果以及获取本书中项目开发的手体验。完全可以在一台台式机显示器上构建和运行所有的项目,但是乐趣在哪里呢?本书将涉及Google Cardboard和Oculus Rift的细节。 Google Cardboard是移动VR的一个示范,让你可以用智能手机运行VR应用。如果你有一台Android智能手机,你需要从Google获取Android开发工具;如果你有一台iOS设备,你需要从Apple获取Xcode开发工具(及授权)。具体细节在第3章有所介绍。 Oculus Rift 是一个关于Desktop VR的例子目前,Unity对Rift内置支持。然而,如果你有不同的头盔显示器,你可能还需要从厂商处下载一个Unity的接口包。具体细节也在第3章中进行介绍。 这应该就差不多了—一台PC、Unity软件、一台HMD,我们就准备好了! 目标读者如果你对虚拟现实感兴趣,想要学习它的原理或者想创建自己的VR体验,那么本书适合你。不管你是否是程序员,是否熟悉3D计算机图形,或者有前两者的经验但对于VR是个新手,你都可以从本书中受益。使用Unity并不是重新开始,但你也不需要是一位专家。然而,如果你是Unity新手,只要你认为自己可以适应本书的节奏,就可以购买本书。 游戏开发者可能已经熟悉本书中的概念了,在学习了很多特定于VR的知识后把它们重新应用于VR项目。已经了解如何使用Unity的移动平台和2D游戏的设计师将会发现另一个维度!工程师和3D设计师可能理解很多3D概念,但是他们可以学习把游戏引擎用于VR。应用程序开发者也许会感激VR在非游戏用途方面的潜能,并且想要学习使用制作这类程序的工具。 约定本书中,你将发现很多文本风格以区分不同种类的信息。这里有这些风格的一些例子和它们含义的说明。 代码会设置成下面这样: 当我们想让你注意代码块的某一部分时,相关的行或项会加粗: 任何命令行输入或输出都写成下面这样: 新的术语或重要的词语以黑体显示。你在屏幕上看见的单词,举个例子,在菜单或对话框中,文本中这样显示: “点击这里创建一个Room按钮。” 表示警告或重要的注意事项。 表示技巧或小巧门。 读者反馈来自我们读者的反馈永远是受欢迎的。让我们知道你对于本书的看法—你喜欢与否。读者反馈对我们来说很重要,因为它帮助我们改进那些你们可以真正利用的内容。 若想向我们发送常规的反馈,请写电子邮件到feedback@packtpub.com,并在邮件主题中提及书名即可。 如果你对某个话题有专业意见或者你对写作或参与一本书的编写有兴趣,请参见我们的作者指南:www.packtpub.com/authors。 客户支持你已经是Packt图书的尊贵用户,我们有很多方式帮助你从购买中获取价值。 下载代码示例你可以通过在http://www.packtpub.com的账户下载所有你在Packt出版社所购买书籍的示例代码文件。如果你是在其他地方购买的本书,可以访问http://www.packtpub.com/support 并注册,以便我们通过电子邮件把文件发送给你。 下载本书的彩色插图我们还向你提供本书中所用到的截图/图表的彩色插图的PDF文件。这些彩色插图将帮助你更好地理解输出结果中的改变。你可以从http://www.packtpub.com/sites/default/files/downloads/ 8556OS_ColorImages.pdf 下载这个文件。 勘误尽管我们已经尽力去确保内容的准确性,但是错误仍在所难免。如果你发现了书中的错误,也许是文本或代码,若能报告给我们,我们将非常感激。因为这么做,你可以帮助其他读者,并且能够帮助我们改进本书接下来的版本。如果你发现了任何错误,请通过http://www.packtpub.com/submit-errata 报告它们,选择书名,点击“勘误提交表(Errata Submission Form)”链接,然后键入你的勘误细节。一旦你的勘误被确认,你的提交将会被采纳,而这个勘误将会被上传到我们的网站或添加到之前标题下的勘误部分的任何现在已有勘误表中。 要审阅之前提交的勘误,请访问 https://www.packtpub.com/books/content/support ,并在搜索框中输入书名。所需要的信息就会出现在勘误部分之下。 盗版行为盗版行为在互联网上是一个持续存在的问题,对于所有媒体皆如此。在Packt,我们非常重视保护我们的版权和许可。如果你在互联网上遇到以任何形式非法复制我们的产品,请立即向我们提供地址或网站名称,以便我们能够弥补这一缺失。 请通过copyright@packtpub.com联系我们,并附上有盗版嫌疑的材料链接。 我们非常感激你在保护作者以及我们向你提供有价值的内容上所做的帮助。
导语摘要
21世纪以来,虚拟现实技术得到了高速的发展,这门学科涉及计算机图形学、多媒体技术、传感技术、人工智能等多个领域,具有很强的交叉性。虚拟现实技术被认为是21世纪发展为迅速的、对人们的工作生活有着重要影响的计算机技术之一,在教育、医疗、娱乐、军事、建筑、规划等众多领域中有着非常广泛的应用前景。本书详细介绍了虚拟现实应用的基本原理及其在游戏和桌面应用程序中的应用。
作者简介
乔纳森·林诺维斯,是处于起步阶段的VR/AR咨询公司ParkerhillRealityLabs的负责人,他是一位名副其实的VR和3D图形狂热分子、Web全栈工程师、软件工程师、成功的企业家,以及教师。他拥有美国雪城大学的美术学士学位和麻省理工学院多媒体实验室的硕士学位。他成功创办了多家创业公司并曾在大型公司从事技术工作,其中包括欧特公司。
目录
目 录Contents 译者序审校者简介前言第1章万物皆可虚拟11.1虚拟现实对你来说意味着什么21.2头戴式显示器的类型41.2.1桌面VR41.2.2移动VR41.3虚拟现实与增强现实的区别51.4应用与游戏51.5本书涵盖的内容81.6VR体验类型91.7VR技能9小结10第2章 物体和缩放比例122.1开始使用Unity122.1.1新建Unity项目132.1.2Unity编辑器132.1.3默认世界坐标系142.2创建简单的透视图152.2.1添加立方体152.2.2添加平面162.2.3添加球体和材质172.2.4改变场景视图192.2.5添加照片202.2.6给地平面着色212.3测量工具222.3.1随手保留一个单位立方体222.3.2使用网格投影器222.3.3测量Ethan角色232.4从Blender 实验中导入252.5Blender简介252.5.1立方体282.5.2UV纹理图片282.5.3导入Unity302.5.4观察者31小结32第3章 虚拟现实的构建和运行333.1虚拟现实设备集成的软件343.1.1Unity对虚拟现实的内置支持343.1.2设备特有的SDK343.1.3开源虚拟现实项目 343.1.4WebVR353.1.53D世界353.2创建MeMyselfEye预制件363.3为 Oculus Rift构建项目373.4为 Google Cardboard构建项目373.4.1配置Android环境383.4.2配置iOS383.4.3安装Cardboard的Unity包383.4.4添加摄像机393.4.5构建设置393.4.6试玩模式393.4.7构建并在Android中运行403.4.8构建并在iOS中运行403.5不依赖于设备的点击器类413.6虚拟现实设备的运行原理423.6.13D立体视图423.6.2头部跟踪45小结47第4章 基于凝视的操控484.1步行者Ethan494.1.1人工智能Ethan494.1.2Navmesh 烘焙504.1.3镇上的游走者514.1.4插曲—Unity编程简介514.1.5RandomPosition脚本534.1.6“僵尸”Ethan554.2向我看的方向行走564.2.1LookMoveTo脚本574.2.2添加反馈光标594.2.3观察者604.3如果眼神可以杀人614.3.1KillTarget脚本614.3.2添加粒子效果634.3.3清理工作64小结64第5章 世界坐标系UI665.1可重用的默认canvas675.2护目镜HUD715.3十字光标735.4挡风玻璃HUD755.5游戏元素UI775.6信息框795.7响应输入事件的游戏内仪表板825.7.1用按钮创建仪表板835.7.2连接水管与按钮 855.7.3用脚本激活按钮865.7.4用注视高亮显示按钮885.7.5注视并点击选择905.7.6注视并聚焦选择915.8带有头部姿势的响应式UI935.8.1使用头部的位置935.8.2使用头部的姿势95小结98第6章 人称角色996.1深入理解Unity角色1006.1.1Unity组件1006.1.2Unity 的Standard Assets1026.2制作人称角色1046.2.1在直视的方向上移动1056.2.2保持脚着地1066.2.3不要穿透固体1066.2.4不要在边缘坠落1086.2.5跨越小物体并处理崎岖路面1086.2.6开始和停止移动1096.2.7使用头部姿势开和关1096.3用户校准1106.3.1角色的身高1116.3.2玩家的真实身高1126.3.3回到中心位置1136.4保持自我感1136.4.1身首分离1146.4.2头部和身体1156.4.3双脚1156.4.4身体的虚拟角色1176.4.5虚拟的David le 鼻子1186.4.6声音提示1196.5移动、传送和传感器1206.6对付VR 晕动症122小结123第7章 物理组件和周边环境1257.1 Unity的物理组件1267.2 弹力球1277.3 用头部射击1317.4 蹦床与弹力球1347.5 人类的蹦床1357.5.1 像一块砖1357.5.2 像一个人物角色1367.6 插曲—环境和万物1397.6.1 缥缈的天空1407.6.2 行星地球1407.6.3 企业标识1407.7 升降机1427.8 跳起来143小结145第8章 漫游和渲染1468.1 用Blender构建1478.1.1 墙体1478.1.2 天花板1508.2 用Unity组装场景1538.2.1 画廊1538.2.2艺术品部件1548.2.3 展览计划1568.3 添加图片到画廊中1578.4 漫游动画1608.4.1 Unity的动画系统1608.4.2 脚本动画1618.5 优化性能和舒适感1638.5.1 优化实现和内容1648.5.2 优化Unity渲染流水线1668.5.3 优化目标硬件和驱动1698.5.4 Unity Profiler170小结171第9章 利用360°1729.1 360暗亩嗝教?739.2 水晶球1739.3 魔法球1759.4 全景图1789.5 信息图1799.6 等距圆柱投影1829.7 地球仪1839.8 照片球1849.9 视野1879.10 捕捉360岸嗝教?88小结189第10章 社交化的VR虚拟空间19110.1 多玩家网络19210.1.1 网络服务19210.1.2 网络架构19310.1.3 本地与服务器19310.1.4 Unity的网络系统19510.2 建立简单的场景19510.2.1 创建场景环境19610.2.2 创建虚拟角色的头部19710.3 添加多玩家网络19810.3.1 Network Manager和HUD19810.3.2 Network Identity 和Transform19810.3.3 作为一个主机运行19910.3.4 添加出生点位19910.3.5 运行两个游戏实例20010.3.6 关联虚拟角色与人称角色20110.4 添加多玩家到虚拟现实20210.4.1 Oculus Rift玩家20210.4.2 Google Cardboard 玩家20410.4.3 下一步20610.5 构建和共享一个自定义的V
内容摘要
21世纪以来,虚拟现实技术得到了高速的发展,这门学科涉及计算机图形学、多媒体技术、传感技术、人工智能等多个领域,具有很强的交叉性。虚拟现实技术被认为是21世纪发展为迅速的、对人们的工作生活有着重要影响的计算机技术之一,在教育、医疗、娱乐、军事、建筑、规划等众多领域中有着非常广泛的应用前景。本书详细介绍了虚拟现实应用的基本原理及其在游戏和桌面应用程序中的应用。
— 没有更多了 —
以下为对购买帮助不大的评价