虚幻引擎是一系列游戏开发工具,能够将 2D 手机游戏制作为 AAA 游戏机游戏。虚幻引擎 5 用于开发下一代游戏,包括Senua's Saga: Hellblade 2、Redfall(来自 Arkane Austin 的合作射击游戏)、Dragon Quest XII: The Flames of Fate、Gears of War 6、 Ashes of Creation和古墓丽影的下一部分。
虚幻引擎 5 (UE5) 为现实环境带来了全新的工具:
在虚幻引擎 5 中进行开发对于初学者来说很简单。使用蓝图可视化脚本系统,您无需编写一行代码即可创建整个游戏!结合易于使用的界面,您可以快速启动并运行原型。
本虚幻引擎 5 教程侧重于帮助初学者入门。本教程将涵盖几个方面,包括:
使用此链接下载项目的资产。准备好深入了解虚幻引擎!
虚幻引擎 5 使用Epic Games Launcher进行安装。前往虚幻引擎网站并单击右上角的下载按钮。
你可以选择Publishing或Creators许可证。如果打算发布项目或通过项目获利,请选择发布选项。现在选择下载Epic Games 启动器。
下载并安装启动器后,打开它。系统将提示您使用 Epic 帐户登录:
使用下载启动器时使用的相同方法登录。登录后,点击右上角的安装引擎。如果没有安装任何版本的虚幻引擎,启动器会将你带到一个屏幕,可以在其中选择安装位置以及要安装的组件。
如果已经安装了一个版本,请单击库选项卡,然后单击引擎版本 +按钮以选择安装新版本的虚幻引擎。选择 Unreal Engine 5.0.0 版本开始安装。
接下来,单击图标上的安装。你需要选择一个安装目录。
注意: Epic Games 会不断更新虚幻引擎,因此您的引擎版本可能与此不同。本教程的 2022 更新现在包含在 Unreal Engine 5 版本中拍摄的图像,并且视图可能会随着引擎的发展而变化。
引擎安装完成后,返回Epic Games Launcher并选择左侧的 Unreal Engine 选项卡。
单击启动 UE5按钮以打开项目浏览器。这可能需要一段时间,尤其是对于初始运行。
项目浏览器打开后,单击左侧的“游戏”按钮以查找可用于开始新项目的模板。
在这里,选择其中一个模板。因为你是从头开始,所以选择空白模板。在Project Defaults下,保留 Blueprint 而不是 C++ 的默认设置。
以下是下一个选项的作用:
最后,你必须指定项目文件夹的位置和项目名称。
项目名称不代表游戏的名称,以后想改名称也不要着急。选择项目名称字段中的文本并输入Submarine。
最后,单击“创建”开始你的 UE5 奥德赛!
创建项目后,编辑器将打开。如果你使用过 UE4,会看到新的编辑器视图简化了控件和侧边栏以专注于游戏视图。
编辑器分为多个面板:
你将需要在智能手机中开始使用这种类型,将材料方便下载用于提供一个虚拟文件中,包括一个 3D 的fbx模型submarine-low-poly/submarine.fbx和该模型的贴图Submarine-low-poly/*.png。
在 Unreal 可以使用任何文件之前,必须导入它们。导航到 Content Drawer 并单击内容并创建一个名为模型的新文件夹。
选择FBX模型和你的文件夹。
虚幻为你提供了一些 .fbx 文件的导入选项。将模型的Import Uniform Scale设置为100以统一放大模型。
现在将Material Import Method设置为Do Not Create Material并取消勾选 Import Textures。你将导入纹理并分别创建材质。
接下来,单击Import All按钮。FBX 中包含的模型将出现在你的Content Browser文件夹中。请注意,在 Unreal 中,这些模型称为静态网格。
导入文件时,除非你明确这样做,否则它不会保存到你的项目中。通过右键单击文件并选择Save来保存文件,或者通过选择File ▸ Save All一次保存所有文件。经常保存!
现在在 Content Drawer 中创建一个名为Materials的文件夹,并将五个 PNG 纹理导入到Materials文件夹中。同样,在导入纹理后保存文件。
接下来,我们将重新组装模型组件和纹理部件以构建完整的潜艇。
Actor是放置在关卡中的对象,无论是相机、静态网格还是游戏关卡的起始位置。
我们将创建一种称为蓝图的特殊类型的Actor,它可以将网格组件组合成一个在游戏中使用的对象。
蓝图比简单地加入 3D 模型更强大——它们还可以将复杂的逻辑与模型集成在一起,并共同创建可重用的部分以添加到游戏中。
在最简单的意义上,蓝图代表一个“事物”。蓝图可让你为对象创建自定义行为。你的对象可以是物理的东西(例如潜艇)或抽象的东西,例如健康系统。
想做一辆移动的汽车?制作蓝图。会飞的猪呢?使用蓝图。一只在撞击时爆炸的小猫怎么样?蓝图。
要创建 蓝图,首先在 Contents Drawer 中创建一个名为Blueprints的文件夹。
接下来,右键单击你的Blueprints文件夹并选择创建一个Blueprint Class。选择制作一个 Actor,并将其命名为Submarine。
现在双击此蓝图 Actor 以打开蓝图 Actor 的编辑器。是时候建立你的潜艇模型了!
蓝图编辑器有五个主要面板:
潜艇模型可以使用组件进行组装。
如果你在为潜艇写蓝图,它会描述构成潜艇的部件:主体、窗户、潜望镜和螺旋桨。在虚幻引擎中,这些都是蓝图组件的示例。
在您看到任何组件之前,如果您还没有,请切换到视口视图。单击“视口”选项卡进行切换。
DefaultSceneRoot是模型的最顶层成员,但它只会显示在编辑器中。将每个模型部件从 Content Browser 拖到DefaultSceneRoot下的这个蓝图中。这些模型零件将再次组装成潜艇。
在蓝图编辑器中选择编译并保存。在更新蓝图后始终执行这些步骤,以便能够查看更改如何影响游戏。
如果你仔细观察这艘潜艇,你会发现它的表面有一个棋盘,而不是正常的外观。为了给潜艇颜色和细节,你将创建一个材质。
材料决定了事物表面的外观。从根本上说,材料定义了四个要素:
关闭潜艇蓝图并返回 Content Drawer,选择 Materials 文件夹并单击绿色的Add按钮。将出现一个菜单,其中包含你可以创建的资产列表。单击材料。
将材质命名为SubmarineMaterial,然后双击该文件以在材质编辑器中打开它。
材质编辑器有几个面板:
在开始制作材料之前,你需要了解图形的节点和引脚。
节点构成了材质的大部分。许多节点可用并提供不同的功能。
节点可以有输入和输出,也称为针脚,用带箭头的圆圈表示。输入在左侧,输出在右侧。
例如,使用Multiply和Constant3Vector节点将黄色添加到纹理:
要为模型添加颜色和细节,你需要一个纹理。纹理是 2D 图像。通常,它被投影到 3D 模型上以赋予它们颜色和细节。
材质有一个称为Result节点的特殊节点,在本例中已为你创建了SubmarineMaterial。这是你的所有节点将结束的地方。无论插入此节点的任何内容都将决定最终材质的外观。
查看Result节点的一些组件:
从该窗口的底部打开内容抽屉。从 Materials 文件夹将五个纹理中的每一个拖到图形中。
在图表中,通过在两个节点的引脚之间拖放一条线,将纹理节点的RGB引脚与材质中的相应连接建立连接。
最后,你的材质应包含所有五种纹理:
单击工具栏中的应用并保存以更新材料并关闭材料编辑器—完成。
要将你的材质与潜艇一起使用,请指定它。返回内容抽屉并双击潜艇蓝图将其打开。选择Viewport选项卡并缩小以查看整个潜艇:
选择蓝图中的所有五个模型,然后转到 Details 面板并找到Materials部分。单击Element 0右侧的下拉菜单,然后选择SubmarineMaterial。
编译并保存你的潜艇蓝图。下面我们将通过动画使该资产栩栩如生!
要探索虚幻引擎的深度,我们需要了解更多关于蓝图的知识。
与材质类似,蓝图中的脚本通过基于节点的系统工作。这意味着需要做的就是创建节点并链接它们。无需编码。
虚幻引擎也支持使用 C++ 编写逻辑,但我建议你从蓝图系统开始。
蓝图的一些好处:
一个好的方法是使用蓝图创建您的对象。当您需要额外的性能时,请将它们转换为 C++。
是时候让这艘潜艇移动了——在蓝图中为螺旋桨设置动画很容易。这就是蓝图节点的用武之地。
与材质节点表亲不同,蓝图节点具有称为执行引脚的特殊引脚。左边的引脚是输入,右边的引脚是输出。所有节点将至少具有其中之一。
如果一个节点有一个输入引脚,它必须有一个连接才能执行。如果一个节点没有连接,任何后续节点都不会执行。
这是一个例子:
节点 A和节点 B将执行,因为它们的输入引脚有连接。节点 C和节点 D永远不会执行,因为节点 C 的输入引脚没有连接。
打开潜艇蓝图。要开始编写脚本,请切换到Event Graph选项卡。
使对象旋转非常简单,你只需要创建一个节点。右键单击图形上的空间以显示可用节点的菜单。搜索AddLocalRotation。旋转subabian_Motor组件。选择AddLocalRotation (submarine_Motor)。
注意:如果未列出该节点,请取消选中菜单右上角的Context Sensitive 。
你的图表现在将有一个新的AddLocalRotation节点。目标输入将自动连接到所选组件。
要设置旋转值,请转到Delta Rotation输入并将Y值更改为2.0。这将导致蓝图围绕其 Y 轴旋转。较高的值将使螺旋桨旋转得更快。
要不断旋转转盘,你需要每帧调用AddLocalRotation 。要每帧执行一个节点,请使用Event Tick节点。它应该已经在你的图表中。如果不是,请使用与以前相同的方法创建一个。
将Event Tick节点的输出引脚拖到 AddLocalRotation节点的最顶部输入引脚。
注意:在这个实现中,旋转速率取决于帧速率——螺旋桨在较慢的机器上会以较慢的速率旋转,反之亦然。这对本教程来说很好。
最后,转到工具栏并单击编译以更新您的蓝图,然后关闭蓝图编辑器。
添加蓝图与添加网格的过程相同。从内容抽屉中,将潜艇蓝图拖到视口中。
关卡中的对象可以移动、旋转和缩放。这些的键盘快捷键是W,E和R。
这艘潜艇看起来像是搁浅在沙漠中!添加一些效果让它看起来像在水下怎么样?
首先,在大纲视图中选择VolumetricCloud并将其从场景中删除以移除云。
创建蓝色大海的一种简单方法是添加后期处理效果以将世界染成蓝色。后期处理效果是在渲染帧后应用的那些更改。
后期处理效果通常用于提供风格变化,例如运动模糊、光晕和黑白照片风格。
通过单击工具栏中的快速添加按钮并选择Volumes ▸ PostProcessVolume将PostProcessVolume添加到场景:
这将创建一个盒子。如果相机在其范围内,则会应用后期处理效果。在Outliner树中选择新添加的PostProcessVolume并查看详细信息。通过将变换设置为(X:0.0,Y:0.0,Z:0.0)的位置和(X:50.0,Y:50.0,Z:50.0)的比例,确保框位于原点并覆盖视图.
要更改世界的显示方式,请找到名为Color Grading的部分,并将Global Contrast和Gamma设置为蓝色值:
现在应该看起来你在水下。屏住呼吸,但不要太久,因为您仍然需要测试所有辛勤工作的结果!
导航到工具栏并点击播放以查看潜艇在其自然栖息地中的运行情况。