前言
本书面向对虚幻引擎感兴趣的读者,旨在讲述如何制作电子游戏。本书会介绍什么是Unreal Engine、如何下载和使用它。本书将讲解Unreal Engine 4提供的一系列工具,包括材质、蓝图、Matinee、UMG、C++等。
本书内容
第1章是本书的基础。该章介绍如何和在哪里下载Unreal Engine,了解源代码版本和启动器版本之间的区别。Unreal Engine安装(如果是源代码版本,则是编译)之后,展示Unreal Engine的用户界面。该章还讲述浏览器、BSP以及如何更改游戏的启动画面和图标。
第2章讲述在启动并运行Unreal Engine后如何将自定义的FBX资源导入Unreal Engine。该章还介绍碰撞、材质和细节级别(Level Of Detail,LOD)。
第3章讨论材质编辑器以及用于为资源创建着色器的一些常用节点。 在学习材质的基础知识后,将创建一个可以改变法线贴图强度的示例材质函数。
第4章讨论如何进行后期处理。该章将介绍如何重写默认的后期处理设置。接着,将讲述如何添加自己的后期处理体积(Post Process Volume),并展示一个简单但非常强大的功能——查找表。之后,我们将创建一个可以与后期处理一起使用的特殊材质,该材质能够突出显示世界场景中的用户自定义对象。
第5章是本书中承前启后的一章,介绍光照系统。首先,介绍基础知识,例如,如何放置光源和常规设置。然后,讨论有关Lightmass全局光照系统的更多信息,包括如何为资源正确设置UV通道,如何与Lightmass一起使用。最后,讲述如何使用Lightmass并设置Lightmass来构建场景。
第6章将阐述蓝图是什么以及Unreal Engine提供的各种类型的蓝图。蓝图是Unreal Engine的重要工具,允许艺术家和设计师快速地制作游戏原型(甚至制作游戏)。该章还将介绍不同的图表类型(如事件图表、函数图表、宏图表等),以及如何在运行时动态生成蓝图。
第7章重点介绍Unreal Engine 4在电影方面的用途以及与之相关的工具——Matinee。该章讨论什么是Matinee,如何创建Matinee资源以及如何使用用户界面。在介绍基础知识之后,该章将讨论如何操作Matinee中的对象,以及创建一个基本的过场动画,后面将使用蓝图来触发它。
第8章讲述如何创建基本的平视显示器(Head Up Display,HUD)以显示玩家的生命值。虚幻动态图形(Unreal Motion Graphics,UMG)是虚幻引擎中的UI创作工具。UMG用于创建玩家HUD、主菜单、暂停菜单等。该章还介绍如何创建3D小部件,这些小部件可以放置在世界场景中或附加到Actor类中。
第9章介绍一个非常强大和鲁棒的工具——级联粒子编辑器,并讲述如何创建粒子系统,因为没有良好的视觉效果就没有好的游戏。该章还展示如何将级联粒子编辑器与简单的蓝图脚本结合起来,以生成随机爆发的粒子。
第10章介绍C++。通过查看第三人称模板角色类,该章首先介绍如何获取Visual Studio 2015社区版以及C++的基础知识。然后,该章讨论如何扩展此角色类以增加对生命和生命恢复系统的支持,以及如何为蓝图编辑器提供变量和函数。
第11章是本书最后一章,该章将汇总本书的所有内容,包括一些技巧。最后,该章讨论如何创建游戏的发布版本。
阅读本书的准备
在计算机上安装Unreal Engine 4.9或更高版本。
本书读者对象
本书面向所有对使用Unreal Engine 4开发游戏感兴趣的人。如果你热衷于开发游戏并想了解Unreal Engine 4的基础知识及其工具,那么本书将帮助你快速开启这一旅程。Unreal Engine 4是为所有平台(包括移动设备和控制台)创建下一代视频游戏的开始。
本书约定
本书采用一些样式来区分不同类型的信息。以下是这些样式的一些示例以及说明。
代码块格式如下。
void APACKT_CPPCharacter::RegenerateHealth() { if (Health >= GetClass()->GetDefaultObject<ABaseCharacter>()- >Health) { Health = GetClass()->GetDefaultObject<ABaseCharacter>()- >Health; } else { Health += RegenerateAmount; FTimerHandle TimerHandle_ReRunRegenerateHealth; GetWorldTimerManager().SetTimer( TimerHandle_ ReRunRegenerateHealth, this, &APACKT_CPPCharacter::RegenerateHealth, RegenDelay ); } }
新术语和重要词汇以粗体显示。在屏幕上(例如,在菜单或对话框中)看到的词汇会在本书中的显示方式如下。“登录后,可以通过单击Get Unreal Engine(获取虚幻引擎)下的按钮Download(下载)来下载启动器。”
用于显示警告信息或重要说明。
用于显示提示信息和技巧。
读者反馈
欢迎读者的反馈。让我们知道你对本书的看法——喜欢什么或者不喜欢什么。读者反馈对我们很重要,它可以帮助我们出版优质的图书。
要向我们发送一般的反馈,只须发送电子邮件至feedback@packtpub.com,并在邮件主题中提及本书的书名即可。
如果你对某一方面有专业的见解,有兴趣撰写图书或为图书贡献内容,请参阅packtpub网站上的作者指南。
客户支持
既然你购买了Packt图书,那么在你购买的同时可以获取配套资源。
下载示例代码
可以登录packtpub网站并下载本书的示例代码文件。如果你在其他地方购买了本书,则可以访问packtpub网站并进行注册,文件将直接通过电子邮件发送给你。
请按照如下步骤下载代码文件。
(1)使用你的电子邮件地址和密码登录或注册packtpub网站。
(2)将鼠标指针悬停在顶部的SUPPORT选项卡上。
(3)单击Code Downloads&Errata。
(4)在Search框中输入图书的名称。
(5)选择要下载代码文件的图书。
(6)从本书的购买来源的下拉菜单中进行选择。
(7)单击Code Download按钮。
下载文件后,确保使用以下最新版软件解压缩文件夹:
•Windows版WinRAR/7-Zip;
•Mac版Zipeg/iZip/UnRarX;
•Linux版7-Zip/PeaZip。
下载本书的彩色图像
我们还为你提供了一个PDF文件,其中包含本书使用的屏幕截图/图的彩色图像。彩色图像将帮助你更好地了解输出的变化。可以从packtpub网站下载此文件。
勘误表
虽然我们已经尽力确保内容的准确性,但确实也会发生错误。如果你在某本书中发现错误(可能是文本或代码的错误),请告诉我们,我们将不胜感激。这可让其他读者少走弯路,并帮助我们改进本书的后续版本。如果需要勘误,请通过访问packtpub网站,选择本书,单击Errata Submission Form链接,并输入勘误表的详细信息。一旦勘误得到验证,你的提交将被接受,勘误表将上传到我们的网站,或将它添加到现有勘误表中。
要查看以前提交的勘误表,请访问packtpub网站并在搜索字段中输入该书的名称。所需信息将显示在Errata部分。
盗版问题
互联网上的盗版书是所有媒体一直面临的问题。Packt非常重视保护版权。如果你在互联网上发现盗版的Packt图书,请立即向我们提供地址或网站名称,以便我们采取补救措施。
请通过copyright@packtpub.com与我们联系,并提供可疑盗版资料的链接。
感谢你帮助保护作者并为我们提供有价值的内容。
问题
如果有关于本书的任何问题,可以发邮件至questions@packtpub.com,我们会尽力解决你的问题。