Unreal Engine 4游戏开发秘笈:UE4虚拟现实开发
上QQ阅读APP看书,第一时间看更新

前言

随着虚拟现实(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,感谢她长久以来的理解,甚至花费数个漫漫长夜陪伴我完成本书。