Unity虚拟现实开发实战pdf下载pdf下载

Unity虚拟现实开发实战百度网盘pdf下载

作者:
简介:本篇主要提供Unity虚拟现实开发实战pdf下载
出版社:机械工业出版社自营官方旗舰店
出版时间:2020-04
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色

编辑推荐

适读人群 :游戏开发者、虚拟现实技术感兴趣人员、Unity初学者、3D设计师、游戏设计师、游戏制作人、游戏策划、游戏开发者、游戏爱好者、想要进入虚拟现实领域的程序员

Unity已经成为新一代消费级VR设备构建虚拟游戏、虚拟应用和虚拟体验的主流平台。

本书将带你进行一系列实战,并深入讨论如何使用Unity游戏引擎开发VR应用程序。

本书通过基于项目的实践方法,帮助你快速了解使用Unity进行VR开发的具体细节。你将学习使用Unity开发基于Oculus、Daydream与Vive设备的VR应用程序,探索基于凝视与手柄控制器输入、世界坐标系UI画布、移动与传送、软件设计模式、360°多媒体、时间轴动画与多人网络等众多的主题或项目,还将通过可交互式Unity编辑器(Editor)了解Unity 3D游戏引擎,并学习C#编程。

通过阅读本书,你将学到:

●在学习世界坐标系与缩放比例时,使用Unity和其他3D工具创建3D场景。

●为特定的头戴式显示器,包括Oculus、Vive与Daydream创建并运行VR应用程序。

●使用眼睛凝视、手柄控制器以及用户输入事件与虚拟对象进行交互。

●使用移动与传送漫游VR场景。

●使用物理与粒子系统实现音频火球游戏。

●基于传送与数据信息实现艺术画廊。

●使用音轨与时间轴设计并创建VR故事动画。

●使用Unity网络创建社交VR体验。

内容简介

本书通过基于项目的实践方式,详细讲解如何使用Unity 3D游戏引擎进行虚拟现实开发。通过一系列实践项目,循序渐进地阐释Unity虚拟现实项目开发的基本原则和技巧。不仅提供详细的步骤介绍,还会讨论其中涵盖的更广泛的背景和应用场景。

首先,你将学习如何使用Unity来开发可以用Oculus Rift、Google Daydream、HTC Vive等设备进行体验的VR应用程序。

然后,你将学习如何从第三人称和第一人称的视角融入虚拟世界。

另外,你将探索一些对于VR来说重要且可能独一无二的技术关注点。

读完本书后,你将能够用Unity开发丰富的交互式虚拟现实体验程序。

本书通过具体示例由浅入深逐步引导你了解并深入虚拟现实技术,在第1版的基础上,更新了使用的Unity版本,并对各个章节和项目做了大量的修改,使得本书更加具体并易于阅读。无论是初接触编程并想学习虚拟现实技术的新手,还是具有丰富编程经验,想要进入虚拟现实领域的程序员,本书都很适合你。


作者简介

乔纳森林诺维斯(Jonathan Linowes)创立了Parkerhill Reality Labs(一个沉浸式媒体独立工作室),是BridgeXR工具包、Power Solitaire VR游戏以及即将到来的Chess Or Die游戏的开发者。他是VR/AR的传播者、Unity开发者、企业家和教师。他拥有美国雪城大学(Syracuse University)的艺术学士学位和麻省理工学院媒体实验室(MIT Media Lab)的硕士学位。他曾在Autodesk公司和其他公司担任技术领导职务。他撰写了《Unity Virtual Reality Projects 》(2015年第1版)《Cardboard VR Projects for Android 》(2016) 和 《Augmented Reality for Developers 》(2017)。

目录


★目  录

●第1章 万物皆可虚拟 1

1.1 虚拟现实对你来说意味着什么 2

1.2 头戴式显示器的类型 3

1.3 虚拟现实与增强现实的区别 4

1.4 应用与游戏 5

1.5 虚拟现实是如何运作的 7

1.6 VR体验类型 10

1.7 VR必备技能 11

1.8 本书涵盖的内容 12

1.9 本章小结 12

●第2章 内容、物体和缩放比例 14

2.1 Unity入门 14

2.2 创建简单的透视图 17

2.3 测量工具 24

2.4 使用第三方内容 27

2.5 使用Blender创建3D内容 29

2.6 在VR中创建3D内容 35

2.7 在VR中使用EditorXR编辑Unity 39

2.8 本章小结 43

●第3章 VR的构建和运行 44

3.1 Unity VR支持和工具包 44

3.2 为你的平台启用虚拟现实 48

3.3 构建SteamVR 52

3.4 构建Oculus Rift 53

3.5 构建Windows沉浸式MR 55

3.6 为Android设备设置 58

3.7 为GearVR和Oculus Go构建 63

3.8 为Google VR构建 64

3.9 为iOS设备设置 67

3.10 本章小结 69

●第4章 基于凝视的操控 70

4.1 游走者Ethan 70

4.2 向我看的方向行走 77

4.3 如果眼神可以杀人 81

4.4 Unity C#编程简介 84

4.5 本章小结 86

●第5章 便捷的交互工具 87

5.1 设置场景 88

5.2 基本按钮输入 90

5.3 轮询单击 93

5.4 使用脚本化对象进行输入 98

5.5 使用Unity事件处理输入 102

5.6 使用双手 105

5.7 交互项目 108

5.8 本章小结 112

●第6章 世界坐标系UI 113

6.1 学习VR设计原则 114

6.2 可重用的默认画布 116

6.3 护目镜HUD 118

6.4 十字光标 120

6.5 挡风玻璃HUD 122

6.6 游戏元素UI 124

6.7 使用文字特效插件TextMeshPro 125

6.8 信息框 126

6.9 响应输入事件的游戏内仪表板 129

6.10 使用VR组件指向并单击 136

6.11 构建基于手腕的菜单栏 139

6.12 本章小结 140

●第7章 移动与舒适 141

7.1 理解Unity角色 141

7.2 使用滑行移动 145

7.3 添加舒适模式移动 150

7.4 传送技术 153

7.5 传送工具包 161

7.6 重置中心和位置 163

7.7 对付VR晕动症 164

7.8 本章小结 166

●第8章 使用物理引擎 167

8.1 Unity的物理组件 167

8.2 弹力球 169

8.3 管理游戏对象 171

8.4 用头部射击游戏 176

8.5 球拍游戏 180

8.6 射手游戏 182

8.7 完善场景 185

8.8 本章小结 191

●第9章 漫游和渲染 192

9.1 用Blender构建 192

9.2 用Unity组装场景 197

9.3 将图片添加到画廊中 202

9.4 管理艺术信息数据 204

9.5 显示艺术信息 208

9.6 漫游画廊 213

9.7 本章小结 218

●第10章 利用360 219

10.1 360多媒体219

10.2 有趣的光球 222

10.3 渲染光球 225

10.4 使用Unity天空盒 232

10.5 在Unity中捕捉360 多媒体 236

10.6 本章小结 240

●第11章 动画与VR讲故事 241

11.1 撰写我们的故事 241

11.2 Timeline和音频轨道 245

11.3 使用Timeline激活对象 247

11.4 录制Animation Track 248

11.5 使用动画编辑器 249

11.6 动画的其他属性 252

11.7 使用动画剪辑 257

11.8 使用动画控制器 258

11.9 让故事更具互动性 265

11.10 本章小结 268

●第12章 社交化的VR虚拟空间 269

12.1 多玩家网络 270

12.2 建立简单的场景 273

12.3 添加多玩家网络 275

12.4 添加配对大厅 280

12.5 同步对象和属性 281

12.6 高级网络主题 287

12.7 语音聊天选项 288

12.8 使用Oculus平台和虚拟角色 288

12.9 构建和共享自定义VRChat会议室 292

12.10 本章小结 294

●第13章 优化性能和舒适度 295

13.1 使用Unity的Profiler和Stats 296

13.2 优化艺术品 298

13.3 使用静态对象优化场景 307

13.4 优化代码 310

13.5 优化渲染 313

13.6 运行时性能和调试 316

13.7 本章小结 318


前言/序言

【前言】

如今,我们正在见证虚拟现实(VR)的迅猛发展,这是一项令人激动的技术,它有望改变我们与信息、朋友和整个世界进行交互的基本方式。

戴上一个VR头戴式显示器,你就可以观看立体3D场景,可以环顾四周,还可以在虚拟空间中四处走动,并使用定位手柄控制器与虚拟对象交互。你可以拥有完整的沉浸式体验,就像真正置身于某个虚拟世界一样。

本书通过基于项目的实践方式详细讲解如何使用Unity 3D游戏引擎进行虚拟现实开发。我们将使用Unity 2018和其他免费或开源软件来完成一系列实践项目、循序渐进的教程和深入的讨论。VR技术正在快速发展,我们将尝试获取基本的原则和技巧,以便实现具有沉浸感和舒适感的VR游戏和应用程序。

你将学习如何使用Unity来开发可以用Oculus Rift、Google Daydream、HTC Vive等设备进行体验的VR应用程序。我们将涵盖对于VR来说重要且可能独一无二的技术关注点。读完本书后,你将能够用Unity开发丰富的交互式虚拟现实体验程序。

多年前,我在大学学习3D计算机图形学,在研究生院学习用户界面设计,然后成立了一家小型软件公司,开发用于管理AutoCAD工程图的3D图形引擎,后来此业务出售给了Autodesk。在接下来的几年里,我专注于2D网络应用开发,在博客上记录我的技术探索,并致力于发展几家新的初创公司。然后,在2014年3月,我看到Facebook以20亿美元的价格收购了Oculus,这引起了我的兴趣。于是我立即订购了我的第一台VR头戴式显示器(Oculus DK2开发套件),并开始利用Unity开发小型VR项目。

2015年2月,我打算写一本关于Unity VR开发的书。Packt出版社马上接受了我的建议,于是到2015年8月,本书的第1版出版了。从提案、大纲、章节草稿、审查到最终定稿和出版,只花费了短暂的时间,我很痴迷于此。


在撰写本文时,Google Cardboard发布了,但是没有消费级VR设备。DK2没有手柄控制器,只有一个XBox游戏控制器。2015年11月,第1版发布几个月后,HTC Vive推出了房间规模VR设置,同时配套有定位手柄控制器。2016年3月,Oculus Rift消费者版本发布。直到2016年12月,也就是第1版出版近一年半之后,Oculus才发布定位手柄控制器。

自本书第1版出版以来,许多新的VR设备已经上市,硬件和软件功能得到改进,Unity游戏引擎也持续增加原生VR SDK集成和新功能来支持它们。随着行业的不断加速发展,Oculus、Google、Steam、Samsung、PlayStation、Microsoft等多家企业加入了竞争行列。

与此同时,在2016年,我与Packt合作出版了另一本书Cardboard VR Projects for Android,这是一本使用Java和Android Studio构建Google Daydream和Cardboard应用的非Unity VR书籍。(在这本书中,你可以学习为移动设备创建并使用自己的3D图形引擎。)然后在2017年,我与Packt合作编写了第三本书Augmented Reality for Developers,这是一本令人兴奋且被及时出版的书,它基于Unity的项目,适用于在iOS、Android和HoloLens设备上开发AR应用程序。

当开始修订本书的第2版时,我认为这将是一个相对简单的任务,只需要更新到当前版本的Unity、增加对定位手柄控制器的支持并进行一些调整即可。但是没那么简单!虽然第1版的许多基本原理和建议没有改变,但作为一个行业,我们在短短的几年里学到了很多东西。例如,在VR中实现蹦床(我们在第2版中删去了这个项目)真的不是一个好主意,因为这可能导致晕动症!

第2版进行了重大修订和扩展。每个章节和项目都已更新。我们将一些主题分为独立的章节,包括音频火球游戏(第8章)、动画(第11章)和优化(第13章)。我真诚地希望你能认为本书既有趣又专业,因为我们致力于创造出色的新VR内容和探索这个神奇的新媒介。


【本书读者对象】

如果你对虚拟现实感兴趣,想要了解它的工作原理或创建自己的VR体验,请阅读本书。无论你是不是程序员,是否熟悉3D计算机图形,是否刚开始接触虚拟现实,你都将从本书获益。当然,拥有任何Unity经验都是一种优势。如果你是Unity新手,也可以拿起这本书,但你可以首先从Unity官网上提供的一些入门教程入手(https://unity3d.com/ learn)。

游戏开发者可能已经熟悉本书中重新应用到VR项目中的概念,但可以学习到许多其他特定于VR的理念。已经了解如何使用Unity的移动设备设计师和2D游戏设计师将能发现另一个维度。工程师和3D设计师可能了解许多3D概念,但是可以学习如何使用Unity引擎开发VR。应用程序开发人员可能会欣赏VR潜在的非游戏用途,并可能希望通过学习来实现这一目标。


【本书主要内容】

●第1章介绍游戏和非游戏应用中消费级虚拟现实的新技术以及机会,包括对立体视觉以及头姿追踪的解释。

●第2章介绍Unity游戏引擎,我们将构建简单的立体模型场景,并介绍如何导入使用其他工具(如Blender、Tilt Brush、Google Poly和Unity EditorXR)创建的3D内容。

●第3章介绍如何设置系统以及如何在目标设备上构建和运行Unity项目,这些设备包括SteamVR、Oculus Rift、Windows MR、GearVR、Oculus Go以及 Google Daydream。

●第4章探讨VR摄像机与场景中对象的关系,包括3D光标和基于凝视的射线枪。该章还介绍如何使用C#语言进行Unity脚本编程。

●第5章讨论通过控制器按钮和可交互对象实现用户输入事件,涉及使用不同软件模式,包括轮询、可编写脚本的对象、Unity事件以及随工具包SDK提供的可交互组件。

●第6章给出使用Unity世界坐标系画布实现VR的用户界面(UI)的许多示例,包括护目镜(HUD)、信息框、游戏内对象和腕部菜单栏。

●第7章深入探讨在VR场景中移动自己的技巧,详细探讨Unity第一人称角色对象和组件、移动、远程传送以及房间规模VR。

●第8章探索Unity物理引擎、物理材质、粒子系统和更多C#脚本,同时我们创建了一个球拍游戏,让你可以在喜欢的音乐中击打火球。

●第9章介绍如何建立交互式艺术画廊,包括关卡设计、艺术作品照片、数据管理以及空间传送。

●第10章解释360°多媒体并在各种示例中使用它们,包括地球仪、光球和天空盒等。

●第11章介绍如何使用导入的3D资源和音轨、Unity时间轴和动画来创建完整的VR讲故事体验。

●第12章探索使用Unity Networking组件的多人游戏以及Oculus平台头像和VRChat会议室的开发。

●第13章演示如何使用Unity Profiler和Stats窗口来减少VR应用程序的延迟,包括优化3D艺术、静态照明、高效编码和GPU渲染。