《VR开发实战》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:冀盼,谢懿德著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:7121305042
  • 页数:286 页
图书介绍:

1 虚拟现实的前世今生 1

1.1 初探 1

1.2 缓慢发展 2

1.3 虚拟现实又火爆了 6

1.3.1 主机VR的“三国演义” 6

1.3.2 群雄逐鹿 7

1.4 虚拟现实可以干什么 8

1.4.1 培训教育 8

1.4.2 运动 8

1.4.3 游戏 9

1.4.4 电影 9

1.4.5 心理治疗 10

1.4.6 广告 10

1.4.7 虚拟现实直播 10

1.5 虚拟现实产品介绍 11

1.5.1 主体硬件 11

1.5.2 各种配件 12

1.6 小结 15

2 虚拟现实设计初探 16

2.1 虚拟现实技术难点 16

2.1.1 晕动症 16

2.1.2 视疲劳 18

2.1.3 成像延时 18

2.1.4 畸变成像 19

2.2 虚拟现实应用设计时要考虑的因素 20

2.2.1 刷新率和帧数的影响 20

2.2.2 分辨率影响 20

2.2.3 场景复杂度影响 21

2.2.4 摄像机控制 23

2.2.5 自我认知冲突 24

2.2.6 更自然的交互 24

2.2.7 音乐、音效的使用 26

2.2.8 多人联机 27

2.3 小结 27

3 认识HTC Vive 28

3.1 HTC Vive 28

3.2 运行环境 28

3.2.1 硬件环境 28

3.2.2 软件环境 29

3.3 简述Lighting House原理 30

3.4 将Vive连接到电脑 30

3.5 房间设定 33

3.6 小结 37

4 Unity简介 38

4.1 Unity入门 38

4.1.1 Unity简介 38

4.1.2 下载及安装 38

4.1.3 Unity 5授权 41

4.1.4 Unity的语言及跨平台原理 42

4.2 Unity编辑器使用简介 43

4.2.1 编辑器界面 43

4.2.2 工具栏 44

4.2.3 Asset Store 45

4.2.4 菜单栏 47

4.2.5 常用工作视图 50

4.3 Unity脚本以及脚本事件调用 54

4.4 Unity物体系统简介 55

4.5 创建并发布一个简单的游戏 56

4.6 Unity中的全局光照 61

4.6.1 全局光照与局部光照 61

4.6.2 全局光照的实现问题 61

4.6.3 预计算的GI 62

4.6.4 烘焙GI 62

4.6.5 预计算的GI与烘焙GI的关系 62

4.6.6 Unity的几种光源 62

4.6.7 GI实战 63

4.7 Unity地形编辑器 67

4.8 Unity中的粒子系统 70

4.9 小结 73

5 三维空间的数学基础 74

5.1 学习的目的 74

5.2 空间数学的基本概念 74

5.2.1 点、矢量与标量 75

5.2.2 笛卡尔坐标系 75

5.3 构建测试项目 76

5.4 矢量运算 81

5.4.1 矢量和标量的乘法、除法 81

5.4.2 矢量的加法与减法 84

5.4.3 矢量的模 86

5.4.4 矢量的归一化 87

5.4.5 矢量的投影 89

5.4.6 矢量的点积 91

5.4.7 矢量的叉积 93

5.5 小结 96

6 Vive开发环境搭建及插件介绍 97

6.1 获取SteamVR插件 97

6.2 将SteamVR插件导入Unity 97

6.3 SteamVR包简介 99

6.4 实现一个最基本的VR场景 101

6.4.1 工程场景搭建 102

6.4.2 添加VR组件 104

6.4.3 常用SteamVR组件详解 105

6.4.4 通过事件监听实现拿、放、扔 117

6.4.5 通过继承实现发射器效果 121

6.5 小结 123

7 Vive开发:解密类游戏 124

7.1 游戏开发流程 124

7.2 游戏策划 125

7.3 游戏场景 126

7.4 解密逻辑:激光发射 127

7.5 接收激光 130

7.5.1 最基础的接收脚本 130

7.5.2 接收并发射激光 132

7.5.3 接收激光后开门 132

7.5.4 接收激光后关卡胜利 133

7.6 制作接收和发射激光的预制体 134

7.7 操作狮子旋转 137

7.8 完成剩余场景布置 139

7.9 效果演示 142

7.10 小结 144

8 Vive开发:第一人称射击类游戏 145

8.1 策划 145

8.2 游戏场景 145

8.3 创建怪物 146

8.4 Unity中的自动寻路 149

8.4.1 Navigation 149

8.4.2 Nav Mesh Agent组件 150

8.5 添加怪物自动寻路 151

8.6 添加怪物动画控制器 154

8.7 怪物行为控制 157

8.8 游戏管理类 160

8.9 怪物攻击 162

8.10 玩家攻击 164

8.10.1 添加手柄手枪模型 164

8.10.2 添加手枪开枪动画 165

8.10.3 实现开枪逻辑 167

8.10.4 添加开枪脚本 170

8.10.5 设置怪物的层级(Layer) 170

8.11 游戏重玩逻辑 171

8.12 添加背景音乐与音量调整 174

8.13 小结 175

9 Vive开发:旅游观光应用 176

9.1 策划 176

9.2 游戏场景 176

9.3 虚拟空间内移动传送 177

9.3.1 为什么要传送和传送的实现方式 177

9.3.2 传送的实现原理 177

9.3.3 实现位置点选取 179

9.3.4 实现游客传送 181

9.4 多场景编辑 183

9.4.1 为何选择多场景编辑 184

9.4.2 多场景的优势 184

9.4.3 多场景的注意事项 184

9.4.4 实现多场景加载 186

9.4.5 场景管理类 191

9.5 实现不同时间段效果 193

9.5.1 如何实现不同时间段效果 193

9.5.2 实现不同时间段的切换效果 193

9.6 创建可传送面与不可传送面 196

9.6.1 如何区分可传送面与不可传送面 196

9.6.2 实现可传送面与不可传送面的区分 196

9.7 修改传送点选取方式 198

9.7.1 修改原因 198

9.7.2 实现原理 198

9.7.3 实现抛物线效果 200

9.8 小结 206

10 Vive开发:将一款单机游戏改为联机游戏 207

10.1 策划 207

10.2 场景 207

10.3 联机实现方法 208

10.4 UNET 208

10.5 HLAPI实现方法 208

10.5.1 主机、本地客户端与远程客户端 209

10.5.2 本地用户(LocalPlayer) 209

10.5.3 权限(Authority)控制 210

10.5.4 主机与客户机之间的RPC通信方式 211

10.5.5 主机与客户机之间的数据同步 212

10.5.6 产生联机物体 212

10.6 使用UNET-HLAPI来将单机游戏改为联机游戏 212

10.6.1 添加网络管理组件 213

10.6.2 制作玩家预制体 214

10.6.3 重写游戏管理类 220

10.6.4 为怪物添加网络通信组件 226

10.6.5 设置玩家出生点 229

10.6.6 运行并查看结果 230

10.7 小结 231

11 Cardboard开发入门 232

11.1 背景知识 232

11.2 Cardboard简介 233

11.3 开发环境准备 236

11.3.1 工具安装 236

11.3.2 SDK简单分析 237

11.4 策划 242

11.4.1 游戏介绍 242

11.4.2 主角 243

11.4.3 敌人 243

11.5 场景 243

11.5.1 搭建 243

11.5.2 天空盒 244

11.5.3 主角形象 244

11.5.4 敌人 245

11.5.5 炮弹和爆炸效果 251

11.6 交互 254

11.6.1 盯 255

11.6.2 单击 255

11.7 小结 255

12 Oculus开发入门 256

12.1 产品简介与安装 256

12.2 开发环境搭建 258

12.3 快速开发体验 263

12.4 SDK细节概述 265

12.5 Demo实战 270

12.5.1 策划 270

12.5.2 场景 270

12.5.3 玩家 271

12.5.4 视角切换 272

12.6 小结 273

13 MR视频拍摄 274

13.1 电影绿幕 274

13.2 MR视频 275

13.3 MR视频原理 276

13.4 SteamVR中的实现 277

13.5 拍摄 282

13.5.1 环境准备 282

13.5.2 如何拍摄 283

13.6 小结 287