问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Unreal Engine 5 蓝图可视化脚本入门:探索蓝图编辑器

创作时间:
作者:
@小白创作中心

Unreal Engine 5 蓝图可视化脚本入门:探索蓝图编辑器

引用
CSDN
1.
https://m.blog.csdn.net/patriot074/article/details/144738477

虚幻引擎5(Unreal Engine 5,简称UE5)是Epic Games开发的一款强大的游戏开发引擎,其蓝图可视化脚本系统让开发者无需编写代码就能创建复杂的游戏逻辑。本文将带领你探索蓝图编辑器的基础知识,从安装引擎到创建第一个旋转椅子的蓝图,手把手教你掌握UE5游戏开发的第一步。

安装虚幻引擎

要使用虚幻引擎,必须先安装Epic Games启动器:

  1. 访问网站https://www.unrealengine.com。国内用户会重定向到:https://www.unrealengine.com/zh-CN/download 该页面会指引你,如图所示:

  2. 安装并启动启动器。

  3. 点击左侧的虚幻引擎标签。

  4. 点击出现在屏幕顶部的Library选项卡。

  5. 点击引擎版本旁边的+按钮,可以在启动器中添加一个版本的虚幻引擎。你可以使用现有的最新版本(译者:不过为了跟本教程契合,建议先试用UE5.1.1版本)。

  6. 点击安装按钮。启动器将开始下载安装所需的文件,可能需要很长时间才能完成。

  7. 点击启动按钮,启动一个已经安装的版本。可以在同一台机器上安装多个版本的虚幻引擎——你只需将其中一个设置为当前版本即可。启动器右上角的启动按钮将启动当前版本。

Blueprint可视化脚本系统已经是一项成熟且稳定的技术。本书使用的是5.0.0版本,但本书中创建的示例在后续版本中应该也不会出现问题。

目前我使用的是5.1.1版本,可以正常运行书中的所有示例。

创建新项目和使用模板

启动虚幻引擎编辑器后,会出现虚幻项目浏览器。左上角的Recent Projects框是用来打开现有项目的,左边的其他框是用来创建新项目的模板类别。下图显示的是游戏类别的模板。

模板是包含一些关键文件的容器,以及为不同类型的项目提供基本起点的关卡。它们对于快速制作原型或学习特定类型项目的基础框架时非常有用。模板的使用是可选的。所有模板都可以简单地在空白模板中重新创建。以下是游戏类别中每个模板的描述:

  • 第一人称:以第一人称视角设计的游戏。这个模板以玩家角色为代表,有一对手臂,配有发射简单球形炮弹的枪。角色可以通过键盘、控制器或触控设备上的虚拟操纵杆在关卡中移动。
  • 手持AR:用于Android和iOS设备的增强现实应用程序。此模板具有用于开关AR模式的运行时业务,以及一些用于命中检测和光照计算处理的示例代码。
  • 第三人称:包含一个可玩的角色,带有跟随它的摄像机。摄像机位于角色的后面并略高于角色。角色有行走、奔跑和跳跃动画,可以通过键盘、控制器或触控设备上的虚拟操纵杆在关卡中移动。
  • 自上而下:包含一个由鼠标控制的角色,其上方有一个远距离的摄像头。玩家的角色通过鼠标或触摸屏控制,点击所需的目的地,并在移动到目的地时使用导航系统避开障碍物。这种自上而下的视角在动作角色扮演游戏中经常使用。
  • 虚拟现实:包含虚拟现实游戏的基本功能。此模板具有传送运动、可抓取的对象、交互式对象和VR观众摄像机。该模板有一个关卡,玩家可以四处移动,并包含可以抓取和交互的物体。
  • 载具:包含一个普通载具和一个带有悬挂的复杂载具。这个模板的关卡包含了一个简单的轨道和障碍物。

在虚幻项目浏览器的右下角,有选中模板的项目默认设置和项目配置选项。在本书的示例中,我们将使用截图上选择的值。这些选项可以在项目后期进行修改,具体如下:

  • Blueprint/C++:有由Blueprint或C++编程制作的模板语言。在本书中,我们将只使用蓝图模板。Unreal Engine 5中的项目可以使用Blueprint、C++,或者两者的混合来开发。你可以将C++代码添加到Blueprint项目中或将Blueprint添加到C++项目中。
  • 目标平台:桌面或移动端。如果你正在开发用于电脑或游戏机的项目,请使用桌面平台。如果您的项目将在移动设备上查看,则选择移动设备。在本书中,我们将使用Desktop选项。
  • 质量预设:可扩展或最大。这些选项会影响项目的表现。可扩展选项禁用了 一些复杂的功能,而最大选项启用 了目标平台中可用的所有功能。在本书中,我们将使用可扩展选项。
  • 初学者内容包(Starter Content):如果勾选此复选框,项目将包括初学者内容。初学者内容包是一个包含简单网格、材质和粒子效果的内容包。本书中的例子都假设使用了初学者内容包。
  • 光线追踪:如果这个复选框被标记,该项目将使用实时光线追踪,这是一个性能密集型的功能。本书的例子将不会使用光线追踪。

选择第三人称模板,选择位置(location)文件夹,并为项目填写名称(Name) 字段。选择前面列表中提到的项目默认值,然后点击创建按钮。项目加载完成后, 虚幻引擎关卡编辑器会显示出来,如下图所示:

以下是关卡编辑器的关键面板:

  1. 工具栏:位于关卡编辑器的顶部 ,菜单 的 下方 。 它包含常用的按钮使用操作。工具栏按钮分为四组。左边的第一组提供了快速访问功能,例如保存和向项目添加各种对象和代码。第二组按钮用于改变关卡编辑器的编辑模式。第三组可以让你播放当前的关卡,并提供各种平台相关的选项。最右边的设置(Settings)按钮提供了方便的项目设置。
  2. 视口(Viewport):位于关卡编辑器的中心。它显示当前使用的关卡。你可以使用视口面板来移动关卡并在关卡上添加对象。按住鼠标右键时,移动鼠标旋转相机,使用WASD键左右移动。
  3. 内容浏览器(Content Browser):可以通过点击内容侧滑菜单(Content Drawer)
    来访问位于关卡编辑器左下角的按钮,用于管理项目的资产。资产是虚幻引擎项目中的所使用到的内容。例如,材质、静态网格、蓝图都是资产 。如果你从内容浏览器中拖拽一个资产,并将其放入关卡中,编辑器会创建一个资产的副本,并将其放置在关卡中。
  4. Outliner(大纲):位于关卡编辑器右侧,它列出了关卡中的对象。
  5. 细节(Detail):位于关卡编辑器右侧,Outliner下方。它显示了在视口中被选中的对象的可编辑属性。

现在我们对虚幻引擎的关卡编辑器有了一个大概的认识,接着让我们专注于蓝图的可视化脚本。

Blueprints可视化脚本

你想问的第一个问题应该是:什么是蓝图? 蓝图 这个词在虚幻引擎中有不止一种含义。首先,它是Epic Games为虚幻引擎创建的一种可视化脚本语言的名 称。其次,它可以指使用Blueprint语言创建的一种新的游戏对象类型。

蓝图主要有两种类型:关卡蓝图(Level Blueprint)和蓝图类(Blueprint Class)。游戏的每个关卡都有自己的关卡蓝图,我们无法单独创建一个关卡蓝 图。另一方面,蓝图类是用来为游戏创建交互对象的,可以在任何关卡中重复使用。

打开关卡蓝图编辑器

要打开关卡蓝图编辑器, 请点击虚幻编辑器工具栏中最左侧的一组按钮中的蓝图按钮。然后在下拉菜单中选择“打开关卡蓝图”(译者:下面的截图使用原书英文版提供的截图)选项,如下图所示:

编辑器会打开当前关卡的关卡蓝图。关卡蓝图编辑器比蓝图类编辑器简单, 因为它只有我的蓝图面板、细节面板和事件图表编辑器。下图显示的是关卡蓝图编辑器:

目前,我们不会对关卡蓝图做任何处理。我们打开它只是要看看界面。关闭关卡蓝图编辑器,返回关卡编辑窗口。现在,我们将创建一个蓝图类,打开蓝图类编辑器,查看所有可用的面板。

创建一个蓝图类

创建Blueprint类有三种方法:

  1. 点击工具栏中我们用来打开关卡蓝图的蓝图按钮。然后,在下拉菜单中点击新建的空蓝图类按钮。
  2. 点击内容侧滑菜单按钮打开内容浏览器,然后点击添加按钮,选择创建基本资产类别下的蓝图类。
  3. 右键单击内容浏览器空白处的任何地方,从出现的菜单中选择 Blueprint Class。

在下一个窗口中,你必须选择新蓝图的父类。现在,将父类设置为Blueprint类型。窗口显示了最常见的类,但如果你需要选择另一个父类,那么只需展开All classes选项。当你选择父类时,此窗口将关闭,一个新的Blueprint资源将出现在要重命名的内容浏览器中。你可以点击取消按钮,因为我们只是在熟悉这个过程。

现在我们已经了解了如何打开当前关卡的蓝图以及如何创建蓝图类,我们将探索蓝图类编辑器的面板。你可以在内容浏览器中右键单击蓝图资源并选择编辑,或者双击蓝图资源来打开蓝图类编辑器。

蓝图类编辑器界面

Blueprint类编辑器包含了几个面板,每个面板用于编辑蓝图的某个方面。Blueprint 类编辑器通常简称为Blueprint编辑器。Blueprint编辑器的主要面板如下所示:

  1. 工具栏(Toolbar)
  2. 组件(Components)
  3. 我的蓝图(My Blueprint)
  4. 细节(Details)
  5. 视口(Viewport)
  6. 事件图表(Event Graph)

这些面板可以在下面的截图中找到。我们将以第三人称模板的BP_ThirdPersonCharacter蓝图为例。它位于ThirdPerson/Blueprints 文件夹中。双击BP_ThirdPersonCharacter蓝图,打开蓝图类编辑器。

工具栏面板

工具栏面板位于Blueprint类编辑器的顶部,包含一些用于编辑蓝图的必要按钮:

按钮描述如下:

  • 编译:将Blueprint脚本转换为可执行的低级格式。这意味着在运行游戏之前必须编译蓝图,否则所做的更改将不会生效。点击此按钮即可编译当前蓝图。如果没有错误,会出现一个绿色的复选图标。
  • 保存:保存对当前蓝图所做的所有更改。
  • 浏览:在内容浏览器中显示当前蓝图类(放大镜图标)。
  • 查找:在蓝图中进行查找。
  • 隐藏不相关:激活时,隐藏与所选节点无关的节点。
  • 类设置:允许在详细信息面板中编辑类的设置。类设置选项包含属性,如描述,类别和父类。
  • 类默认值: 允许在详细信息面板中编辑类默认值。类默认值是蓝图变量的初始值。
  • 模拟: 允许在蓝图编辑器内执行蓝图。
  • 运行: 开始运行当前关卡。
  • 调试对象:此下拉菜单允许选择一个对象进行调试。如果选择none ,它将调试使用当前Blueprint类创建的任何对象。

组件面板

组件面板显示当前蓝图的所有组件。

组件是可以添加到蓝图中的即用型对象。要做到这一点,请点击Components面板的Add(添加)按钮。只需通过使用组件就可以创建具有各种功能的蓝图。

所选组件的属性可以在细节面板上编辑,一些组件的可视化表现可以在视口面板上看到。

静态网格、灯光、声音、box碰撞、粒子系统和摄像机都是在组件面板中使用 到的组件的例子。

我的蓝图面板

My Blueprint(我的蓝图)是一个面板,我们可以在其中为Blueprint创建变量、宏、 函数和图表:

新元素可以通过点击面板顶部的Add按钮,或者每个类别旁边的+按钮来添 加。所选元素的属性可以在Details面板中编辑。

细节面板

细节(Details)面板允许你编辑蓝图中选定元素的属性。被选中的元素可以是组件、变量、宏或函数元素。在Details面板中显示的属性被组织成类别。

下面的截图显示了一个胶囊组件(CapsuleComponent)的属性。面板顶部有一个搜索框,可以用来过滤属性。

视口面板

视口(Viewport)面板显示了蓝图及其组件的可视化表现。视口面板有类似于关卡编辑器的控制,你可以用它来操作组件的位置、旋转和比例等。

事件图表面板

在事件图表(Event Graph)面板中,我们将对蓝图的行为进行编程。事件图表面板包含事件(Event)和 动作(Action),这些事件和动作由节点表示,并通过线段来连接。

事件用红色节点表示,由gameplay事件触发。一个蓝图可以有几种Action, 这些Action将被执行以响应一个事件。下面的截图显示了两个事件:InputAxis TurnRate和InputAxis LookUpRate:

你可以右击并拖动事件图表来移动它,以查看其他事件。其他节点是表示函数、运算符和变量的Action 。我们将在第2章,蓝图编程 中学习这些元素。

在概述了蓝图编辑器面板之后,我们现在能够创建我们的第一个蓝图。 关闭蓝图类编辑器,导航回关卡编辑器。

为蓝图添加组件

现在,让我们创建我们的第一个蓝图。这将是一个只包含组件的非常简单的蓝图。 目前,我们先不使用事件(Event)或动作(Action):

  1. 点击内容侧滑菜单按钮打开内容浏览器,然后点击添加按钮,选择Blueprint类。
  2. 在下一屏中,选择Actor作为父类。
  3. 将我们刚刚创建的蓝图重命名为BP_RotatingChair。蓝图名称中不能有空格,并且有一个约定,蓝图名称以BP_开始。(译者:约定规范很重要,更多可以参考Github上的UE5规范)
  4. 双击此蓝图,打开蓝图编辑器。
  5. 在Components面板上,点击Add按钮,选择Static Mesh,如下图所示。这个静态网格将在视觉上代表这个蓝图。

  1. 在Details面板上,有一个名为Static Mesh的属性,它有一个下拉选择框。点击下拉菜单,选择名为SM_Chair的静态网格属性。这个静态网格资源是初学者内容(入门包/新手包)的一部分。下图展示了选中的SM_Chair:

  1. 让我们添加另一个组件。点击Components面板的Add按钮,在搜索框中输入 rotation movement。
  2. 点击旋转移动组件(RotatingMovement)添加它。默认情况下,这个组件会围绕z轴旋转蓝图,这里我们不需要改变它的属性。
  3. 点击编译按钮,保存蓝图。(译者:这个步骤很重要,可以让蓝图更改在运行时生效)
  4. 在关卡编辑器中,从内容浏览器中拖拽BP_RotatingChair蓝图,并将其放入关卡的某个地方。
  5. 按下关卡编辑器的播放按钮(绿色三角形的),你就可以看到旋转的椅子了。你还可以用 WASD 键移动角色,用鼠标旋转镜头。你可以通过按Esc键退出正在播放的关卡。下面的截图显示了执行中的示例:

总结

在本章中,我们学习了如何安装虚幻引擎,并使用可用的模板创建新项目。我们了解到蓝图主要有两种类型:关卡蓝图和蓝图类。

然后,我们探索了不同类型的面板,它们是蓝图编辑器的一部分。我们对这些面板的熟悉将在开发蓝图时有所帮助。最后,我们还利用组件创建了一个简单的蓝图。

在下一章中,我们将学习如何使用事件和动作来进行蓝图编程。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号