当前位置:主页 > 书籍配套资源 > Unity配套资源
《Unity虚拟现实开发实战(原书第2版)》源码

《Unity虚拟现实开发实战(原书第2版)》源码

  • 更新:2022-02-02
  • 大小:89.8 MB
  • 类别:Unity
  • 作者:乔纳森·林诺维斯
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

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

封面图

目录

  • 译者序
  • 前言
  • 审阅者简介
  • 第1章万物皆可虚拟 1
  • 1.1虚拟现实对你来说意味着什么 2
  • 1.2头戴式显示器的类型 3
  • 1.2.1桌面VR 3
  • 1.2.2移动VR 3
  • 1.3虚拟现实与增强现实的区别 4
  • 1.4应用与游戏 5
  • 1.5虚拟现实是如何运作的 7
  • 1.5.1立体3 D视图 7
  • 1.5.2头姿追踪 9
  • 1.6VR体验类型 10
  • 1.7VR必备技能 11
  • 1.8本书涵盖的内容 12
  • 1.9本章小结 12
  • 第2章内容、物体和缩放比例 14
  • 2.1Unity入门 14
  • 2.1.1新建Unity项目 15
  • 2.1.2Unity编辑器 15
  • 2.1.3默认世界坐标系 16
  • 2.2创建简单的透视图 17
  • 2.2.1添加立方体 18
  • 2.2.2添加平面 18
  • 2.2.3添加球体和材质 19
  • 2.2.4改变场景视图 21
  • 2.2.5添加照片 22
  • 2.2.6给地平面着色 23
  • 2.3测量工具 24
  • 2.3.1随手保留一个单位立方体 24
  • 2.3.2使用网格投影器 24
  • 2.3.3测量Ethan角色 25
  • 2.4使用第三方内容 27
  • 2.5使用Blender创建3D内容 29
  • 2.5.1Blender简介 29
  • 2.5.2单位立方体 31
  • 2.5.3UV纹理图片 32
  • 2.5.4导入Unity 34
  • 2.5.5一些观察 35
  • 2.6在VR中创建3D内容 35
  • 2.6.1导入和导出Tilt Brush模型 37
  • 2.6.2使用Google Poly进行发布和导入 38
  • 2.7在VR中使用EditorXR编辑Unity 39
  • 2.7.1设置EditorXR 40
  • 2.7.2使用EditorXR 41
  • 2.8本章小结 43
  • 第3章VR的构建和运行 44
  • 3.1Unity VR支持和工具包 44
  • 3.1.1Unity的内置VR支持 45
  • 3.1.2特定于设备的工具包 46
  • 3.1.3应用程序工具包 47
  • 3.1.4基于Web和JavaScript的VR 47
  • 3.1.53D世界 48
  • 3.2为你的平台启用虚拟现实 48
  • 3.2.1设置目标平台 49
  • 3.2.2设置XR SDK 50
  • 3.2.3安装设备工具包 50
  • 3.2.4创建MeMyselfEye播放器预制件 50
  • 3.3构建SteamVR 52
  • 3.4构建Oculus Rift 53
  • 3.5构建Windows沉浸式MR 55
  • 3.5.1设置Windows 10开发人员模式 56
  • 3.5.2在Visual Studio中安装UWP支持 56
  • 3.5.3UWP构建 57
  • 3.6为Android设备设置 58
  • 3.6.1安装Java开发工具包 59
  • 3.6.2安装Android SDK 59
  • 3.6.3使用命令行工具 60
  • 3.6.4关于Android SDK根路径位置 61
  • 3.6.5安装USB设备调试和连接 61
  • 3.6.6配置Unity外部工具 62
  • 3.6.7为Android配置Unity Player Settings 63
  • 3.7为GearVR和Oculus Go构建 63
  • 3.8为Google VR构建 64
  • 3.8.1Google Daydream 64
  • 3.8.2Google Cardboard 65
  • 3.8.3Google VR运行模式 66
  • 3.9为iOS设备设置 67
  • 3.9.1拥有Apple ID 67
  • 3.9.2安装Xcode 67
  • 3.9.3配置iOS的Unity Player Settings 68
  • 3.9.4构建和运行 68
  • 3.10本章小结 69
  • 第4章基于凝视的操控 70
  • 4.1游走者Ethan 70
  • 4.1.1人工智能Ethan 71
  • 4.1.2NavMesh烘焙 72
  • 4.1.3镇上的随机游走者 74
  • 4.1.4RandomPosition脚本 74
  • 4.1.5“僵尸”Ethan 76
  • 4.2向我看的方向行走 77
  • 4.2.1LookMoveTo脚本 77
  • 4.2.2添加反馈光标 79
  • 4.2.3穿透对象观察 80
  • 4.3如果眼神可以杀人 81
  • 4.3.1KillTarget脚本 81
  • 4.3.2添加粒子效果 83
  • 4.3.3清理工作 84
  • 4.4Unity C#编程简介 84
  • 4.5本章小结 86
  • 第5章便捷的交互工具 87
  • 5.1设置场景 88
  • 5.1.1创建气球 88
  • 5.1.2使之成为预制件 88
  • 5.2基本按钮输入 90
  • 5.2.1使用Fire1按钮 90
  • 5.2.2OpenVR的扳机键 92
  • 5.2.3用Daydream控制器单击 93
  • 5.3轮询单击 93
  • 5.3.1按钮界面功能 94
  • 5.3.2创建并释放气球 95
  • 5.3.3按住按钮给气球充气 96
  • 5.4使用脚本化对象进行输入 98
  • 5.4.1创建脚本化对象 99
  • 5.4.2填充输入操作对象 100
  • 5.4.3访问输入操作对象 101
  • 5.4.4使用脚本化对象进行模拟测试 101
  • 5.5使用Unity事件处理输入 102
  • 5.5.1调用输入操作事件 103
  • 5.5.2订阅输入事件 103
  • 5.6使用双手 105
  • 5.6.1将气球设为手柄的子对象 105
  • 5.6.2让气球爆炸 107
  • 5.7交互项目 108
  • 5.7.1使用SteamVR交互系统进行交互 109
  • 5.7.2使用Daydream VR Elements进行交互 110
  • 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.9.1创建带有按钮的仪表板 129
  • 6.9.2连接水管与按钮 131
  • 6.9.3用脚本激活按钮 132
  • 6.9.4用注视高亮显示按钮 133
  • 6.9.5注视并单击选择 135
  • 6.9.6注视并聚焦选择 136
  • 6.10使用VR组件指向并单击 136
  • 6.10.1使用Unity UI和SteamVR 137
  • 6.10.2使用Unity UI和Daydream 139
  • 6.11构建基于手腕的菜单栏 139
  • 6.12本章小结 140
  • 第7章移动与舒适 141
  • 7.1理解Unity角色 141
  • 7.1.1Unity组件 142
  • 7.1.2Unity的Standard Assets 143
  • 7.2使用滑行移动 145
  • 7.2.1沿视线方向移动 145
  • 7.2.2保持脚着地 146
  • 7.2.3不要穿透固体对象 147
  • 7.2.4不要在边缘坠落 149
  • 7.2.5跨越小物体并处理崎岖路面 149
  • 7.2.6开始与停止移动 150
  • 7.3添加舒适模式移动 150
  • 7.4传送技术 153
  • 7.4.1凝视传送 153
  • 7.4.2在表面之间传送 155
  • 7.4.3传送生成点 157
  • 7.4.4其他传送考虑因素 160
  • 7.5传送工具包 161
  • 7.5.1使用SteamVR交互系统传送 161
  • 7.5.2使用Daydream Elements传送 162
  • 7.6重置中心和位置 163
  • 7.7对付VR晕动症 164
  • 7.8本章小结 166
  • 第8章使用物理引擎 167
  • 8.1Unity的物理组件 167
  • 8.2弹力球 169
  • 8.3管理游戏对象 171
  • 8.3.1销毁坠落的对象 172
  • 8.3.2设置持续时间 172
  • 8.3.3实现一个对象池 172
  • 8.4用头部射击游戏 176
  • 8.5球拍游戏 180
  • 8.6射手游戏 182
  • 8.7完善场景 185
  • 8.7.1创建大火球 186
  • 8.7.2Skull环境 188
  • 8.7.3音频同步 190
  • 8.8本章小结 191
  • 第9章漫游和渲染 192
  • 9.1用Blender构建 192
  • 9.1.1构建墙体 193
  • 9.1.2添加天花板 194
  • 9.2用Unity组装场景 197
  • 9.2.1画廊 197
  • 9.2.2艺术品部件 198
  • 9.2.3展览计划 200
  • 9.3将图片添加到画廊中 202
  • 9.4管理艺术信息数据 204
  • 9.4.1使用列表 204
  • 9.4.2使用数据结构 205
  • 9.4.3使用脚本化对象 206
  • 9.5显示艺术信息 208
  • 9.5.1创建标题牌匾 209
  • 9.5.2详细的交互信息 210
  • 9.5.3调整图像宽高比 212
  • 9.6漫游画廊 213
  • 9.6.1在画像之间传送 213
  • 9.6.2考虑房间规模 215
  • 9.6.3动画穿越 216
  • 9.7本章小结 218
  • 第10章利用360? 219
  • 10.1360岸嗝教? 219
  • 10.1.1等距圆柱投影 220
  • 10.1.2VR正在侵入你的视野 220
  • 10.1.3180岸嗝教? 221
  • 10.1.4立体360岸嗝教? 221
  • 10.2有趣的光球 222
  • 10.2.1水晶球 222
  • 10.2.2地球仪 224
  • 10.3渲染光球 225
  • 10.3.1编写自定义内部着色器 226
  • 10.3.2魔法球 228
  • 10.3.3光球 229
  • 10.3.4播放360笆悠? 230
  • 10.4使用Unity天空盒 232
  • 10.4.1六边形或立方体天空盒 233
  • 10.4.2球面全景天空盒 234
  • 10.4.3360笆悠堤炜蘸? 235
  • 10.4.43D立体天空盒 236
  • 10.5在Unity中捕捉360岸嗝教? 236
  • 10.5.1捕捉立方体贴图和反射探头 236
  • 10.5.2使用第三方库360安痘?
  • 图像 238
  • 10.5.3Unity内置立体360巴枷窈?
  • 视频捕获 239
  • 10.6本章小结 240
  • 第11章动画与VR讲故事 241
  • 11.1撰写我们的故事 241
  • 11.1.1收集资源 242
  • 11.1.2创建初始场景 243
  • 11.2Timeline和音频轨道 245
  • 11.3使用Timeline激活对象 247
  • 11.4录制Animation Track 248
  • 11.4.1正在生长的树 248
  • 11.4.2正在生长的鸟 249
  • 11.5使用动画编辑器 249
  • 11.6动画的其他属性 252
  • 11.6.1动画的灯光 252
  • 11.6.2动画脚本组件属性 253
  • 11.6.3控制粒子系统 255
  • 11.7使用动画剪辑 257
  • 11.8使用动画控制器 258
  • 11.8.1动画和动画器的定义 259
  • 11.8.2ThirdPersonController动画 259
  • 11.8.3Living Bird动画器 260
  • 11.8.4学习飞行 262
  • 11.8.5对鸟进行攻击 264
  • 11.8.6飞走 264
  • 11.9让故事更具互动性 265
  • 11.9.1期待播放效果 265
  • 11.9.2重置初始场景设置 267
  • 11.9.3更多互动的想法 268
  • 11.10本章小结 268
  • 第12章社交化的VR虚拟空间 269
  • 12.1多玩家网络 270
  • 12.1.1网络服务 270
  • 12.1.2网络架构 271
  • 12.1.3本地与服务器 271
  • 12.1.4Unity的网络系统 272
  • 12.2建立简单的场景 273
  • 12.2.1创建场景环境 273
  • 12.2.2创建虚拟角色的头部 274
  • 12.3添加多玩家网络 275
  • 12.3.1Network Manager和HUD 275
  • 12.3.2Network Identity和Sync Transform 275
  • 12.3.3作为一个主机运行 276
  • 12.3.4添加出生点位 276
  • 12.3.5运行游戏的两个实例 277
  • 12.3.6关联虚拟角色与第一人称角色 278
  • 12.4添加配对大厅 280
  • 12.5同步对象和属性 281
  • 12.5.1设置头球游戏 282
  • 12.5.2通过联网射击球 284
  • 12.5.3同步球变换 285
  • 12.5.4状态变量同步 286
  • 12.6高级网络主题 287
  • 12.7语音聊天选项 288
  • 12.8使用Oculus平台和虚拟角色 288
  • 12.8.1Oculus平台权限检查 289
  • 12.8.2添加本地虚拟角色 290
  • 12.8.3添加远程虚拟角色 291
  • 12.9构建和共享自定义VRChat会议室 292
  • 12.10本章小结 294
  • 第13章优化性能和舒适度 295
  • 13.1使用Unity的Profiler和Stats 296
  • 13.1.1Stats窗口 296
  • 13.1.2Profiler窗口 297
  • 13.2优化艺术品 298
  • 13.2.1设置场景 299
  • 13.2.2抽取模型 302
  • 13.2.3透明材质 303
  • 13.2.4细节层次 304
  • 13.3使用静态对象优化场景 307
  • 13.3.1设置场景 307
  • 13.3.2灯光和烘焙 307
  • 13.3.3遮挡删除 309
  • 13.4优化代码 310
  • 13.4.1了解Unity的生命周期 311
  • 13.4.2编写高效的代码 312
  • 13.4.3避免费时的API调用 313
  • 13.5优化渲染 313
  • 13.5.1批次处理 314
  • 13.5.2多通道像素填充 315
  • 13.5.3VR优化着色器 316
  • 13.6运行时性能和调试 316
  • 13.6.1Daydream 317
  • 13.6.2Oculus 318
  • 13.7本章小结 318

资源下载

资源下载地址1:https://pan.baidu.com/s/1ZYQcvnukrgvKSTQZCMu80g

相关资源

网友留言