蓝图简介

虚幻引擎中的 蓝图 - 可视化脚本系统 是一个完整的游戏脚本系统, 其理念是,在虚幻编辑器中,使用基于节点的界面创建游戏可玩性元素。 和其他一些常见的脚本语言一样,蓝图的用法也是通过定义在引擎中的面向对象的类或者对象。 在使用虚幻 4 的过程中,常常会遇到在蓝图中定义的对象,并且这类对象常常也会被直接称为“蓝图(Blueprint)”。

该系统非常灵活且非常强大,因为它为设计人员提供了一般仅供程序员使用的所有概念及工具。 另外,在虚幻引擎的 C++ 实现上也为程序员提供用于蓝图功能的语法标记, 通过这些标记,程序员能够很方便的创建一个基础系统,并交给策划进一步在蓝图中对这样的系统进行扩展。

关于蓝图的更多概述信息,包括蓝图类型、蓝图剖析及关于蓝图同虚幻引擎 3 中的 Kismet 及 UnrealScript 的关系的探讨, 请参照 蓝图总览 页面。

蓝图的工作原理?

蓝图的基本形式上讲,蓝图 是针对您游戏添加的可视化脚本。通过使用 连线节点事件函数变量 连接到一起, 它可以创建复杂的游戏性元素。

蓝图 通过各种用途的 节点 构成图表来进行工作,这些节点包括针对蓝图每个实例的对象构建、独立的函数、一般的游戏性事件,从而实现各种行为及其他功能。

常用的蓝图类型

您将应用的最常见的 蓝图 类型是 Level Blueprints(关卡蓝图Class Blueprints(类蓝图)

这仅是其中的两种 蓝图类型 ,还有 蓝图宏蓝图接口

关卡蓝图 的作用和虚幻引擎 3 中的 Kismet 的作用一样,并且具有同样的功能。每个关卡具有其自己的 关卡蓝图 ,它可以引用及操作关卡中的 Actor,使用 Matinee Actor 控制过场动画,并管理类似于关卡动态载入、检查点及其他关卡相关的系统。关卡蓝图 还可以和放置在关卡中的 类蓝图 (请参照下面的部分获得相关示例)进行交互,比如读取或设置任何变量、触发它们可能包含的自定义事件。

蓝图 非常适合于制作交互式的资源,比如门、开关、可收集的道具及可破坏的景观。在上面的图片中,按钮和每个门都是独立的 蓝图 ,包含了对玩家重叠事件做出反应的必要脚本,使得它们可以产生动画、播放音效、改变材质(比如,当按下按钮时变亮)。

在该示例中,按下按钮激活了门 蓝图 中的一个事件,使得门打开,但是门既可以通过其他类型的 蓝图 激活,也可以通过 关卡蓝图 序列激活。由于 蓝图 的自包含特性,所以您可以通过这种方式构建蓝图,把它们放置到关卡中,它们就可以正常运作了,仅需要少量设置。这也意味着编辑整个项目中都在使用的一个 蓝图 将会更新蓝图的每个实例。

蓝图还能够做什么?

您已经阅读了关于 关卡蓝图类蓝图 的信息,下面列出了几个可以通过 蓝图 系统完成的几个实例。

使用构建脚本创建自定义的预制

Construction_Script.png

Construction Script(构建脚本)蓝图 中的一种图表类型,当在编辑器中放置或更新Actor时会执行它,但是在游戏过程中不会执行它。这对于轻松地创建自定义的道具是非常有用的,使得环境美工人员工作效率更快,比如一个光源设备,它可以自动地更新材质来匹配点光源组件的颜色和亮度;或者一个 蓝图 ,可以在一个区域上随机地散布植被网格物体。

在Content Examples(内容示例)地图中,包含每个示例的很长的房间(如上面的图片所示)实际上是由多个组件构成的一个 蓝图蓝图的构建脚本 根据 蓝图详细信息 面板中暴露的参数创建及排列各种静态网格物体及光源。对于我们创建的每个Content Example(内容示例)地图,我们都可以把那个示例房间 蓝图 放置在其中,设置要生成的房间的长、高及数量(及其他几个选项),并且片刻就可以完成整套房间。

像这样的 蓝图 ,初次创建时会比较耗时,但是如果您明白您要经常使用它,那么构建关卡时所节约的时间、修改时的方便程度,使得这样设计变得非常值得。

创建一个可运行的游戏角色

Game_Characters.png

Pawn 也是一种类型的 蓝图 ,您可以把您的可运行角色需要的每个元素放到 蓝图 图表中。您可以操作相机行为,设置鼠标、控制器及触屏的输入事件,以及创建 动画蓝图 资源来处理骨架网格物体动画。

当您创建一个新的 角色蓝图 时,它自带一个角色组件,具备了到处移动、跳跃、游泳、下降等所需的大部分行为,您所需要做的就是根据您想控制角色的方式来添加一些输入事件。

创建 HUD

Create_HUDs.png

蓝图 脚本也可以用于创建游戏的 HUD,这和 类蓝图 类似,因为它可以包含事件序列和变量,但是它会被分配给您的项目的 GameMode(游戏模式) 资源,而不是直接添加到关卡中。

您可以设置一个 HUD 来从其他 蓝图 中读取变量,并使用这些变量来显示一个生命值条、更新分数、显示目标标记等。您还可以使用HUD给类似于可以点击的按钮或手游中可以对触摸输入做出反应的按钮添加命中区域。

上面图片中的所有示例都存在于虚幻引擎 4 的示例内容中,所以如果您想仔细查看相关内容,您可以在 Content ExamplesShooter GameSwing Ninja 中找到它。

蓝图编辑器和图表

无论您正在构建一个 关卡蓝图 还是一个 类蓝图 ,您将会用到蓝图编辑器参考 中的蓝图元素

根据您所应用的 蓝图 类型的不同,有各种不同类型的 蓝图编辑器 。大部分 蓝图编辑器 的核心功能都是 图表 模式,通过使用其核心的 图表 选卡 可以布局您的 蓝图 网络。

蓝图的示例和教学

下面还有一些额外的资源可供用于学习蓝图系统。

  • 蓝图

  • Blueprint Lift Tutorial

  • Blueprint Power-Up Tutorial