当前位置:首页 > 工业技术
基于Unity与SteamVR构建虚拟世界
基于Unity与SteamVR构建虚拟世界

基于Unity与SteamVR构建虚拟世界PDF电子书下载

工业技术

  • 电子书积分:10 积分如何计算积分?
  • 作 者:(美)杰夫·W.默里(Jeff W. Murray)著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2019
  • ISBN:9787111619581
  • 页数:228 页
图书介绍:本书采用亲身实践的方法使用Unity游戏引擎启动和运行虚拟现实。使用免费的SteamVR库,书中的示例代码与当前可用的主要虚拟现实头戴式显示器兼容。该书还介绍了虚拟现实的一些主要问题,比如晕动病和性能影响,并提供了一些切实可行的方法来减少它们对虚拟现实体验的影响。
《基于Unity与SteamVR构建虚拟世界》目录

第1章 虚拟世界简介 1

1.1 我们虚拟化多久了 1

1.2 头戴式显示器诞生之前 2

1.3 头戴式显示器的诞生 2

1.4 消费者级VR的探索 4

1.5 家用电脑式虚拟现实 4

1.6 消费者级VR复出 5

1.7 VR的缺点 6

1.7.1 延迟 6

1.7.2 抖动和拖尾 6

1.7.3 纱窗效应 7

1.7.4 晕眩 7

1.7.5 期待哪些体验 7

1.7.6 消费者级VR:Rift CV 1和HTC Vive 9

1.8 可以像内核一样进入电脑吗——VR面临的困难和挑战 10

1.8.1 运动追踪和运动捕获输入设备 10

1.8.2 触觉反馈 11

1.8.3 视觉追踪 11

1.8.4 空间和移动 12

1.8.5 虚拟现实内容制作 12

1.9 虚拟现实设计和发展 13

1.9.1 计划:任何计划皆可行 13

1.9.2 提前安排主要交互 14

1.9.3 真人测试 14

1.9.4 寻找合作与流程 14

1.9.5 真实性不是绝对的 14

1.10 本章小结 15

第2章 硬件初始化设置 16

2.1 配套硬件和软件需求 16

2.1.1 HTC Vive推荐规格 17

2.1.2 OSVR HDK推荐规格 17

2.1.3 Rift推荐规格 17

2.1.4 兼容性工具 18

2.1.5 处理兼容性工具结果 19

2.2 安装SteamVR 21

2.2.1 安装Steam客户端 21

2.2.2 注册Steam账户 21

2.2.3 安装SteamVR 21

2.3 安装提示 22

2.3.1 运动追踪器独立安放 22

2.3.2 整理物品腾出空间 22

2.3.3 避开墙体 23

2.3.4 什么是瞳孔间距及其重要性 23

2.4 安装VR硬件 24

2.4.1 HTC Vive安装介绍 24

2.4.2 OSVR HDK安装介绍 26

2.4.3 Rift安装 29

2.5 设置SteamVR 29

2.6 找到你的VR腿 31

2.7 舒适体验VR的几点建议 31

2.7.1 HTC Vive 31

2.7.2 OSVR 32

2.7.3 Rift 32

2.8 保持健康的VR体验 33

2.8.1 及时停止 33

2.8.2 休息一下 34

2.8.3 进食,饮水,快乐体验虚拟 35

2.8.4 体验VR时不要弄伤自己!小心测试 35

2.9 本章小结 36

第3章 创建SteamVR Unity项目 37

3.1 下载Unity并创建新项目 38

3.2 Unity辑器教学 38

3.3 创建新的Unity项目 42

3.4 下载适用Unity的SteamVR库 42

3.5 VR视角的空间 46

3.5.1 创建Unity新场景 46

3.5.2 从示例文件中复制模型 47

3.5.3 添加新的游戏对象 47

3.5.4 将花园模型添加到场景中 48

3.5.5 添加房屋模型 49

3.5.6 设置VR摄像机装置 50

3.5.7 VR环境比例 52

3.5.8 调整花园模型比例 53

3.6 SteamVR摄像机定位和重新定位 54

3.7 项目保存和备份 54

3.8 本章小结 55

第4章 添加交互 56

4.1 添加交互框架 57

4.2 添加瞄准光标 57

4.2.1 添加一个UI画布 57

4.2.2 调整画布以适合VR场景 57

4.3 添加VREyeRaycaster和Reticle组件到摄像机 60

4.3.1 设置Inspector引用 61

4.3.2 防止光标剪切 62

4.4 在场景中添加门 62

4.5 使门可以交互 64

4.5.1 创建门控制脚本 64

4.5.2 脚本分解 66

4.6 门把手添加盒碰撞体 69

4.7 DoorController组件设置引用 70

4.8 保存工作 71

4.9 本章小结 71

第5章 构建头戴式显示器和游戏控制器用户界面 72

5.1 制作主菜单场景 72

5.1.1 打开示例项目 72

5.1.2 创建画布进行用户界面绘制 73

5.1.3 创建按钮 74

5.1.4 添加UI滑块显示按钮进度 75

5.2 编写C#按钮脚本 79

5.3 添加VR BUTTON组件引用以使用 84

5.4 在按钮上添加文本标签以显示其作用 84

5.5 测试按钮 86

5.6 菜单场景中添加第二个按钮 86

5.6.1 复制按钮 86

5.6.2 更改文本标签 86

5.7 添加按钮的行为 86

5.7.1 添加Main Menu Controller游戏对象到场景中 86

5.7.2 编写主菜单脚本 87

5.7.3 事件函数添加到菜单按钮 88

5.8 添加场景设置 89

5.9 测试菜单 90

5.10 保存工作 90

5.11 本章小结 91

第6章 使用SteamVR传送系统在虚拟世界中移动 93

6.1 设置传送场景 93

6.1.1 为传送地面位置创建碰撞器 94

6.1.2 设置图层 97

6.1.3 设置摄像机装置并添加组件 97

6.2 编写C#脚本输入到传送器 98

6.3 修改SteamVR传送器代码 104

6.3.1 将DoClick()更改为公共函数 104

6.3.2 修改SteamVR传送器以使用LayerMask 104

6.4 设置摄像机游戏对象上的组件 104

6.5 可选的附加功能 106

6.6 本章小结 106

第7章 游戏中用头戴式显示器瞄准 107

7.1 摄像机附加炮弹发射系统 108

7.2 摄像机添加脚本用于获取玩家输入 109

7.2.1 编写SprayInputProvider.cs脚本 109

7.2.2 脚本分解 110

7.3 喷壶添加发射脚本 111

7.3.1 编写SprayShooter.cs脚本 111

7.3.2 脚本分解 112

7.4 在Inspector面板中设置组件 113

7.5 运行游戏 114

7.6 本章小结 114

第8章 利用音频充分实现虚拟现实 115

8.1 虚拟现实空间及其他 115

8.2 常用术语 115

8.2.1 环境音效 116

8.2.2 监听器 116

8.2.3 双耳音频 116

8.2.4 单音声 116

8.2.5 3D声 116

8.2.6 多普勒效应 117

8.3 音频源组件 117

8.4 为场景添加环境音效 118

8.5 为飞虫添加音效 121

8.6 为喷壶添加音效 122

8.7 为摄像机添加一个音频源 122

8.7.1 古怪且有趣 123

8.7.2 快节奏且激动人心 123

8.8 创建一个音频混音器 123

8.8.1 音频混音器窗口 123

8.8.2 在音频混音器窗口设置混音器 125

8.9 添加混音器组 125

8.10 设置音频源来使用音频混音器组 126

8.11 测试并混合音频 126

8.11.1 音频闪避 128

8.11.2 其他效果 129

8.12 保存项目 129

8.13 本章小结 129

第9章 HTC Vive移动控制器 130

9.1 如何与虚拟世界交互 130

9.2 HTC Vive控制器 130

9.2.1 尝试SteamVR交互系统示例场景 131

9.2.2 设计房间规模VR控制器技巧 131

9.3 在虚拟现实中利用Vive控制器拾取并放下 132

9.3.1 在Unity场景中添加Vive控制器 133

9.3.2 PickUp.cs脚本 134

9.3.3 脚本分解 136

9.3.4 添加触觉反馈 145

9.4 SteamVR交互系统实现用户界面 150

9.4.1 创建新项目并导入SteamVR 150

9.4.2 创建新场景并添加Player预设体 150

9.4.3 制作简单的UI画布与按钮 150

9.4.4 VR运行 153

9.5 利用Vive控制器实现虚拟世界的传送 153

9.5.1 创建新项目并导入SteamVR 153

9.5.2 创建新场景并添加一个Player预设体 153

9.5.3 测试 154

9.6 本章小结 154

第10章 手势输入系统 156

10.1 Leap Motion VR 156

10.1.1 Leap Motion VR安装套件 157

10.1.2 下载Leap Motion Orion驱动程序和软件 157

10.1.3 连接头戴式显示器测试Visualizer 158

10.1.4 下载Leap Motion Uni插件资源包 158

10.1.5 为交互引擎与Leap Motion设置Unity项目 158

10.1.6 在虚拟世界中实现 159

10.1.7 钢琴按键编程 160

10.1.8 潜在问题 164

10.2 Noitom感知神经元动作捕捉 164

10.2.1 下载和安装 165

10.2.2 运行示例项目 167

10.2.3 设置Unity项目 167

10.2.4 使用全身动作捕捉套装 171

10.2.5 潜在问题 172

10.3 本章小结 173

第11章 座式或静止的VR体验摄像机装置 174

11.1 VR驾驶简单的车辆 174

11.1.1 打开示例项目 174

11.1.2 代码设定坐或立校准 175

11.1.3 脚本分解 176

11.1.4 将车辆添加为摄像机的父对象 179

11.2 什么是第三人称以及虚拟现实是否适合第三人称视角 180

11.3 外部摄像机跟随车辆 180

11.3.1 打开示例项目 180

11.3.2 设置摄像机装置 180

11.3.3 添加一个摄像机脚本 181

11.3.4 保存 182

11.3.5 预览场景 182

11.4 本章小结 182

第12章 虚拟现实晕眩症 183

12.1 虚拟现实晕眩症是什么 184

12.1.1 个人体验 184

12.1.2 VR晕眩症状和征兆 184

12.2 是否可以解决 187

12.3 本章小结 188

第13章 Unity中减少VR晕眩症的实用技术 189

13.1 用UI覆盖来缩小视野 189

13.1.1 打开示例项目 190

13.1.2 视场蒙版 190

13.1.3 编写动态缩放脚本 190

13.1.4 运行示例 194

13.2 适用于VR的第三人称视角摄像机 195

13.2.1 打开并试行示例文件 195

13.2.2 编程 196

13.2.3 第三人称VR摄像机装置 199

13.3 假鼻子以及它如何闻味道 200

13.4 本章小结 202

第14章 改善与优化 203

14.1 定制SteamVR管理器 203

14.2 VR优化 206

14.2.1 渲染信息统计窗口 207

14.2.2 性能分析器 207

14.2.3 批量处理 213

14.2.4 遮挡 213

14.2.5 快速代码技巧 216

14.2.6 几何建模 218

14.3 本章小结 220

第15章 展望未来及写在最后的话 222

15.1 未来 222

15.1.1 无线头戴式显示器 222

15.1.2 背包式笔记本电脑 223

15.1.3 仓储级体验 223

15.1.4 视线追踪 223

15.1.5 光场VR 223

15.1.6 光像素VR 224

15.1.7 Khronos VR 224

15.2 结语 224

参考文献 226

相关图书
作者其它书籍
返回顶部