Unity虚拟现实开发基础(微课版)

unity学习、虚拟现实
分享 推荐 1 收藏 18 阅读 1.0K
何健 (作者) 978-7-115-69149-1

关于本书的内容有任何问题,请联系 人邮-张蒙

【内容特点】
(1)由浅入深,结构合理:每个案例独立成章,由任务描述、准备知识、任务实施、操作指南、思考与练习几个部分组成,聚焦应用,便于上手。
(2)取长补短,讲清原理:借鉴同类教材的优点,弥补现有教材的不足,力图用更有针对性的案例引导,帮助学习者尽快上手虚拟现实应用开发。
(3)案例教学,重视实战:本书关注虚拟现实应用开发,内容涵盖Unity交互技术、全景图和全景视频的交互式浏览、AR应用、VR应用,这些案例稍加完善即可应用于真实项目开发中。
【资源特点】针对书中全部案例,提供案例中用到的素材、插件和Complete工程文件(最终作品的工程文件,含脚本源代码等)。另外,针对初学者容易出错的案例配套有微课资源,同时为教师提供课程教学大纲、PPT等资源。
【服务特点】作者可以提供直播以及QQ服务群等支持。

内容摘要

本书以VR/AR的开发为目的,力图通过简练准确的语言、精心设计的案例和图文并茂的编排方式,阐述Unity编辑器的基本使用技能、VR/AR的开发技术及流程,为广大读者提供一条便捷有效的学习路径。本书由9章组成。第1章阐述虚拟现实的基础知识、核心技术、常用开发工具和应用。第2章阐述使用Unity编辑器的入门知识和入门技能。第3章阐述Unity脚本编程的基础知识。第4章、第5章阐述Unity常用交互技术、与UI交互的知识。第6章阐述全景的相关知识和桌面端的全景项目实践。第7章阐述基于Vuforia的AR项目实践。第8章阐述基于Steam VR 2.x的VR项目实践。第9章阐述基于XRI的VR项目实践。 本书可作为普通高等学校或职业院校虚拟现实技术、数字媒体技术、教育技术学、计算机应用等专业相关课程的教材,也可作为相关教育培训机构学生、相关从业人员和广大VR/AR爱好者的参考书和入门读物。

目录

第 1章 虚拟现实技术概述 1
1.1 虚拟现实基础知识 1
1.1.1 虚拟现实的概念 1
1.1.2 虚拟现实的起源与发展 2
1.1.3 虚拟现实的特征 4
1.1.4 虚拟现实系统分类 5
1.1.5 VR、AR、MR和XR概念辨析 7
1.2 虚拟现实技术 8
1.2.1 虚拟现实的技术结构 8
1.2.2 实物虚化技术 8
1.2.3 虚物实化技术 9
1.2.4 人机交互技术 11
1.3 虚拟现实常用开发工具 13
1.3.1 虚拟现实引擎 13
1.3.2 常用VR开发工具 16
1.3.3 常用AR开发工具 17
1.4 VR/AR应用 20
1.4.1 VR应用 20
1.4.2 AR应用 22
1.5 本章小结 24
1.6 本章习题 24
第 2章 走近Unity 25
2.1 Unity版本说明 25
2.2 搭建Unity开发环境 25
2.2.1 硬件环境准备 25
2.2.2 创建Unity ID 26
2.2.3 安装Unity Hub 26
2.2.4 安装Unity编辑器 27
2.2.5 获取个人版许可证 28
2.3 Unity编辑器入门 29
2.3.1 创建一个Unity项目 29
2.3.2 初识Unity编辑器的界面 29
2.3.3 从Unity资源商店获取需要的
资源 31
2.3.4 探索操作Scene视图的方法 33
2.3.5 探索变换游戏对象的方法 34
2.3.6 在Unity中运行游戏 34
2.3.7 练一练:第 一人称漫游作品 34
2.3.8 发布自己的第 一款Unity作品 36
2.4 资源导入与导出 37
2.4.1 Unity资源概述 37
2.4.2 图片文件的导入 37
2.4.3 音频文件的导入 38
2.4.4 练一练:添加背景音乐 39
2.4.5 视频文件的导入 40
2.4.6 练一练:在模型表面播放视频 40
2.4.7 3D模型文件、动画文件与材质
文件的导入 41
2.4.8 练一练:从Windows 3D资源库
导入3D模型 42
2.4.9 Unity资源包的创建与导入 43
2.5 本章小结 44
2.6 本章习题 44
第3章 Unity脚本编程基础 45
3.1 Unity脚本编写规范 45
3.2 C#语法基础 46
3.2.1 变量和数据类型 46
3.2.2 枚举 48
3.2.3 算术、关系、逻辑运算符 49
3.2.4 语句和表达式 50
3.2.5 常用数据结构 51
3.2.6 方法 53
3.3 面向对象程序设计 57
3.3.1 类和对象 57
3.3.2 类的继承与多态 60
3.3.3 接口及其实现 60
3.3.4 委托 62
3.3.5 事件 62
3.4 Unity组件化开发中的一些核心类型 65
3.4.1 Unity组件化开发 65
3.4.2 MonoBehaviour类 66
3.4.3 GameObject类 68
3.4.4 Transform类 69
3.4.5 Time类 70
3.4.6 Mathf类 70
3.4.7 Vector3结构体 71
3.5 实战案例:制作一款迷你游戏 71
3.5.1 案例描述 71
3.5.2 项目初始设置 72
3.5.3 让游戏主角可移动 72
3.5.4 设置摄影机的跟随移动 73
3.5.5 添加可旋转的“食物” 74
3.5.6 创建UI,显示计分信息 75
3.5.7 案例中Inspector窗口显示名与代码
标识符的命名规则差异的说明 79
3.6 本章小结 79
3.7 本章习题 80
第4章 Unity常用交互技术 81
4.1 物理系统 81
4.1.1 刚体 82
4.1.2 碰撞体 83
4.1.3 碰撞事件 84
4.1.4 触发事件 85
4.2 输入 86
4.2.1 Input Manager 86
4.2.2 Input类中的常用变量和方法 88
4.3 键盘交互 89
4.4 鼠标交互 90
4.4.1 单击事件 90
4.4.2 双击事件 91
4.4.3 滚轮事件 92
4.5 射线交互 92
4.5.1 场景射线 93
4.5.2 摄影机射线 93
4.5.3 Raycast()方法 93
4.5.4 练一练:通过鼠标移动游戏对象 94
4.6 触屏交互 95
4.7 Input System 96
4.7.1 Input System的安装 96
4.7.2 Input System的结构 97
4.7.3 Input System的基础使用 97
4.7.4 练一练:使用Input System移动
游戏对象 98
4.8 实战案例:制作一款双人坦克游戏 100
4.8.1 案例描述 100
4.8.2 项目初始设置 100
4.8.3 控制坦克行驶或转向 101
4.8.4 炮弹飞行和击中目标 104
4.8.5 坦克发射炮弹 107
4.8.6 坦克被炮弹击中 110
4.8.7 双玩家控制坦克 111
4.9 本章小结 112
4.10 本章习题 113
第5章 与UI交互 114
5.1 Canvas 114
5.1.1 Canvas概述 114
5.1.2 Canvas的3种渲染模式 115
5.1.3 UI控件的显示顺序 115
5.2 Rect Transform组件 116
5.3 Unity UI中的非交互控件 116
5.3.1 Image控件和Raw Image控件 117
5.3.2 Text控件和Text-TextMeshPro
控件 117
5.4 Unity UI中的可交互控件 118
5.4.1 Button控件和Button-TextMeshPro
控件 118
5.4.2 练一练:制作一个PPT文件浏览
项目 118
5.4.3 Toggle控件 120
5.4.4 Slider控件、Scrollbar控件
和Scroll View控件 121
5.4.5 Input Field控件和Input Field-
TextMeshPro控件 122
5.4.6 Dropdown控件和Dropdown-
TextMeshPro控件 122
5.5 Unity UI的布局管理 123
5.6 实战案例:制作一款简单计算器 123
5.6.1 案例描述 123
5.6.2 项目初始设置 123
5.6.3 分析简单计算器的UI 123
5.6.4 编写脚本 124
5.6.5 挂载脚本 130
5.6.6 运行测试 131
5.7 本章小结 131
5.8 本章习题 131
第6章 全景项目实践 132
6.1 全景概述 132
6.1.1 全景的概念 132
6.1.2 全景的分类 133
6.1.3 全景的特点 134
6.2 全景素材的获取 135
6.2.1 全景的拍摄设备 135
6.2.2 全景的拍摄方法 136
6.2.3 全景的后期处理 138
6.3 实战案例:全景图交互式浏览 139
6.3.1 案例描述 139
6.3.2 项目初始设置 140
6.3.3 创建球天并应用材质 140
6.3.4 创建多个球天对象 141
6.3.5 实现交互式浏览 141
6.3.6 在多个全景图之间切换 142
6.4 实战案例:全景视频交互式浏览 145
6.4.1 案例描述 145
6.4.2 项目初始设置 145
6.4.3 设置全景视频 145
6.4.4 实现交互式浏览 146
6.4.5 在多个全景视频之间切换 146
6.4.6 新建起始场景并实现场景切换
功能 148
6.5 本章小结 150
6.6 本章习题 150
第7章 基于Vuforia的AR项目
实践 151
7.1 AR概述 151
7.1.1 AR的概念和特点 151
7.1.2 AR项目开发工具 152
7.2 实战案例:AR产品手册 152
7.2.1 案例描述 152
7.2.2 部署Vuforia开发环境 153
7.2.3 搭建场景 155
7.2.4 交互的设计与实现 158
7.2.5 发布Android应用 159
7.3 实战案例:AR识字游戏 162
7.3.1 案例描述 162
7.3.2 准备知识 162
7.3.3 配置Vuforia开发环境 163
7.3.4 创建Database,添加识别图 163
7.3.5 在图片识别中应用虚拟按钮 164
7.3.6 应用多图识别实现拼字 166
7.3.7 发布Android应用 169
7.4 本章小结 170
7.5 本章习题 170
第8章 基于SteamVR 2.x的VR
项目实践 171
8.1 HTC Vive安装和调试 171
8.1.1 HTC Vive概述 171
8.1.2 HTC Vive硬件安装 173
8.1.3 HTC Vive软件安装 174
8.1.4 探索HTC Vive的使用 176
8.2 新建VR项目的初始化设置 177
8.2.1 SteamVR Runtime和SteamVR
Plugin概述 177
8.2.2 VR项目的初始设置 178
8.2.3 探索Interaction System 179
8.3 在VR中传送 180
8.3.1 初始化场景 180
8.3.2 使用传送点 181
8.3.3 使用传送平面 182
8.4 在VR中与物体交互 183
8.4.1 可抓取的小球 183
8.4.2 可开关的门 184
8.4.3 可开关的抽屉 186
8.5 在VR中与UI交互 187
8.6 实战案例:基于SteamVR 2.x的
沉浸式全景项目 188
8.6.1 案例描述 188
8.6.2 项目初始设置 189
8.6.3 MainScene场景的重定制 189
8.6.4 PanoramaPhotoScene场景的
重定制 190
8.6.5 PanoramaVideoScene场景的
重定制 193
8.7 本章小结 195
8.8 本章习题 195
第9章 基于XRI的VR项目
实践 196
9.1 XRI概述 196
9.2 新建VR项目的初始化设置 197
9.2.1 安装XR Plugin Management
和OpenXR 197
9.2.2 安装XRI及其示例 198
9.3 在VR中移动、转向和传送 200
9.3.1 搭建自己的虚拟房间 200
9.3.2 在VR中移动和转向 201
9.3.3 在VR中传送 202
9.3.4 自定义传送的游标模型 203
9.4 在VR中与物体交互 203
9.4.1 使物体可抓取 204
9.4.2 隐藏手柄模型 204
9.4.3 对抓取的细节做一些优化 204
9.4.4 设置抓取位置和抓取姿态 205
9.5 提升与物体交互时的体验 205
9.5.1 用声音来强化反馈 206
9.5.2 定制一款电视机遥控器 206
9.6 在VR中与UI交互 208
9.6.1 在TextMeshPro中使用中文
字体 208
9.6.2 制作欢迎辞页面 208
9.6.3 制作复位场景提示页面 210
9.6.4 为动作绑定输入 210
9.6.5 给玩家指定一个初始位置
和朝向 211
9.6.6 完善复位场景提示页面的按钮
交互 212
9.7 实战案例:沉浸式飞机引擎拆装
VR项目 212
9.7.1 案例描述 212
9.7.2 项目初始设置 212
9.7.3 创建沉浸式的3D场景 213
9.7.4 实现飞机引擎的拆分和装配 214
9.8 本章小结 216
9.9 本章习题 216

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

何建,硕士,高级实验师,1994年6月毕业于西南师范大学电化教育学系,于四川师范大学计算机科学学院长期从事信息技术教育工作。面向教育技术学专业本/硕学生讲授的课程有三维动画创作、数字视频节目制作、虚拟现实技术,面向全校师范类本科学生讲授的课程有现代教育技术应用。合著教材有《现代教育技术应用》(科学出版社,2022年)、《现代教育技术应用实训》(科学出版社)等教材。

推荐用户

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部