内容简介
本书为我们带来了佳实践、常规操作范例和在虚幻4的实践中需要特殊说明的示例、练习范例,以及在遇到问题时选择正确处理途径的方法。米奇·麦卡弗里(MitchMcCaffrey)的这些经过验证的“菜单”,包含了逐步讲解的说明,会让你由浅入深地掌握理论和相关数学基础。
目录
本书赞誉
译者序
前言
第一部分 起步
第1章 术语与最佳实践 2
1.1 术语 2
1.1.1 设备 2
1.1.2 软件 4
1.1.3 Unreal Engine 6
1.2 最佳实践 6
1.3 小结 8
第2章 头戴式显示器设置 9
2.1 Gear VR 9
2.1.1 Gear VR项目设置 10
2.1.2 Gear VR全局菜单设置 14
2.1.3Gear VR全局菜单进度条材质 21
2.2 Rift与Vive 26
2.2.1 Rift与Vive项目设置 27
2.2.2 Rift与Vive追踪源 32
2.3 小结 33
第3章 工具包 34
3.1 通用函数库 34
3.2 Oculus函数库 35
3.3 Steam VR函数库 36
3.4 小结 37
第二部分 实践
第4章 追踪交互 40
4.1 理解追踪交互 40
4.2 理解接口 44
4.3 设置追踪交互 45
4.3.1 基础项目设置 45
4.3.2 交互接口设置 46
4.3.3 交互组件 48
4.3.4 交互Pawn设置 60
4.4 设置一个基础交互对象 61
4.5 小结 65
4.6 练习 66
第5章 传送 70
5.1 设置传送 71
5.2 可视化传送 77
5.2.1 可视化材质 77
5.2.2 可视化Actor 79
5.3 简单传送体 80
5.4 小结 85
5.5 练习 85
第6章 UMG和2D UI 86
6.1 VR中2D UI的挑战 86
6.2 UMG的历史与通用性 87
6.3 基础VR菜单 88
6.3.1 菜单Actor 90
6.3.2 菜单Pawn 92
6.4 自定义交互菜单 95
6.4.1实现自定义菜单交互:方法1 95
6.4.2实现自定义菜单交互:方法2 99
6.5 小结 103
6.6 练习 103
第7章 角色逆运动学 105
7.1 逆运动学简介 105
7.2 设置头部IK 107
7.2.1 制作镜子 107
7.2.2 IK Pawn 110
7.2.3 头部IK动画蓝图 112
7.3 设置手IK 116
7.3.1 为Pawn添加运动控制器 116
7.3.2 手IK动画蓝图 117
7.4 小结 123
7.5 练习 123
第8章 运动控制器交互设计 124
8.1为什么使用运动控制器进行交互 124
8.2 注意事项:一致性的重要性 125
8.3 当代运动控制器的共享输入 125
8.4 建立虚拟世界交互项目 126
8.5 与物体交互 128
8.5.1创建World Interaction接口 128
8.5.2 创建Interactor组件 129
8.5.3 为Pawn添加交互 137
8.6 创建可交互物体 139
8.6.1创建一个可交互的Static Mesh Actor 139
8.6.2 创建一个可交互的按钮 142
8.6.3创建一个可交互的操纵杆 150
8.7 小结 162
8.8 练习 162
第9章 VR运动 163
9.1 模拟器疾病 163
9.2 运动类型 164
9.2.1 自然运动 164
9.2.2 传送 165
9.2.3 载具运动 166
9.2.4 物理运动 167
9.2.5 人工运动 167
9.3 运动实现 168
9.3.1 吸附转向第一人称模板 168
9.3.2 原地跑步第一人称模板 175
9.4 小结 178
9.5 练习 178
第10章 VR优化 179
10.1 VR渲染的要求 179
10.2 缓解延迟 180
10.3 性能优化 186
10.3.1 前向vs延迟 187
10.3.2 立体实例化 192
10.3.3 隐藏区域的网格优化 192
10.4 VR项目设置 193
10.5 小结 199
10.6 练习 199
附录
附录A VR编辑器 202
附录B 资源 209
前言/序言
Preface 前 言
随着虚拟现实(VR)的复兴,许多对优质虚拟现实体验的需求也开始出现。虚拟现实技术在游戏开发领域带来了很多新的、令人振奋的挑战,同时还将之前未开发的工业领域带入了激动人心的实时渲染领域。不论是在创作一个经典的街机类型游戏,还是在可视化托斯卡纳的绿草山中的一幢精致的别墅,虚拟现实都能带来全新的沉浸式体验。然而,这同时也带来了诸多挑战。开发虚拟现实应用时,我们都希望可以按照自己的要求创作一切。
本书中,有许多实践过的制作方式和关于交互的示例,都是近几年常见的制作手法。不论是来自游戏领域中外太空探索的大玩家还是个人团队,整个虚拟现实社区都在以惊人的速度学习和成长。本书不仅会展示如何在Unreal Engine(UE,虚幻引擎)中实现这些示例,还会展示什么才是项目真正所需要的功能。
整体的呈现方式就像一本菜单,采用实践的方式来学习VR开发。每个章节都会向你展示,如何构建一个在现如今的虚拟现实体验与游戏中所通用的系统。不论你是在构建一个第一人称射击项目还是一个休闲模拟器,每个示例都会确保有足够抽象的内容来应付在相应类型项目中所要遇到的问题,并且也会介绍适用于某些游戏类型的特定方法。
本书读者本书是为那些已经对虚幻引擎(UE4)以及蓝图(Blueprints)系统比较熟悉的人设计的。如果没有任何相关经验,推荐在阅读本书之前浏览UE的官方文档进行初步学习。不论怎样,我会通过实际编码来解释问题,而且大多数数学问题也已经包含在书籍的特殊段落和主要内容中了。因此,不需要读者拥有高超的编程技巧。
本书结构本书分为三个部分。
第一部分,“起步”:第1章~第3章主要进行一些术语的介绍,这些术语会贯穿本书以及VR产业。同时在这一部分中也会包含如何为各种VR头显设备创建基本的项目文件。
第二部分,“实践”:第4章~第10章包含本书中最主要的项目示例。这部分涵盖了从运动控制器交互(motion controller interaction)到VR移动方案的全部内容。
第三部分,“附录”:在这一部分中,主要讨论的是VR编辑器以及资源方面的附加信息,它们会为你的VR开发过程带来一些帮助。
为什么要用蓝图在虚幻引擎中进行编程时,主要有两种实现逻辑的方式:可视化编程——蓝图;或者是传统的编程语言——C++。
与蓝图相比,C++较难上手,因为C++的基础语法需要一段时间来进行专门的学习。但是,C++会提供给你更广泛的权限来使用一些引擎当中隐藏的功能。这并不会成为阅读本书的障碍;几乎全部适合制作项目的功能逻辑,使用蓝图都可以实现。
蓝图也提供了一种较为简单的方式,将代码从一个项目中迁移到另一个项目中。这样就可以把本书中学到的功能复用在其他项目中了。
下载示例代码网址https://github.com/mitchemmc/UE4VRCookbook存放着每个章节所需的示例源文件,可以用来回顾每一章节所讲到的内容。
致谢在此我由衷地向Addison-Wesley出版社的执行编辑Laura Lewin和Epic Games的教育传播者Luis Cataldi表示感谢,是你们给了我在Addison-Wesley出版社出版这本书的机会。感谢Addison-Wesley的编辑团队。策划编辑Sheri Replin审阅了本书所有的章节并且给了我很有价值的建议。Olivia Basegio帮助我同Addison-Wesley的出版团队协作,并组织整理了一些必要的文档。
另外,本书从审校人员Cliton Crumpler和Marty Murphy处收集到非常多有用的反馈和需要修正的内容建议,感谢他们。
最后,感谢我的另一半Nicola, 感谢她长久以来的理解,甚至花费数个漫漫长夜陪伴我完成本书。
Unreal Engine 4游戏开发秘笈:UE4虚拟现实开发 电子书 下载 mobi epub pdf txt