蓝图简介
虚幻引擎中的 蓝图 - 可视化脚本系统 是一个完整的游戏脚本系统, 其理念是,在虚幻编辑器中,使用基于节点的界面创建游戏可玩性元素。 和其他一些常见的脚本语言一样,蓝图的用法也是通过定义在引擎中的面向对象的类或者对象。 在使用虚幻 4 的过程中,常常会遇到在蓝图中定义的对象,并且这类对象常常也会被直接称为“蓝图(Blueprint)”。
该系统非常灵活且非常强大,因为它为设计人员提供了一般仅供程序员使用的所有概念及工具。 另外,在虚幻引擎的 C++ 实现上也为程序员提供用于蓝图功能的语法标记, 通过这些标记,程序员能够很方便的创建一个基础系统,并交给策划进一步在蓝图中对这样的系统进行扩展。
关于蓝图的更多概述信息,包括蓝图类型、蓝图剖析及关于蓝图同虚幻引擎 3 中的 Kismet 及 UnrealScript 的关系的探讨, 请参照 蓝图总览 页面。
蓝图的工作原理?
从蓝图的基本形式上讲,蓝图 是针对您游戏添加的可视化脚本。通过使用 连线 把 节点 、 事件 、 函数 及 变量 连接到一起, 它可以创建复杂的游戏性元素。
蓝图 通过各种用途的 节点 构成图表来进行工作,这些节点包括针对蓝图每个实例的对象构建、独立的函数、一般的游戏性事件,从而实现各种行为及其他功能。
常用的蓝图类型
您将应用的最常见的 蓝图 类型是 Level Blueprints(关卡蓝图) 和 Class Blueprints(类蓝图) 。
这仅是其中的两种 蓝图类型 ,还有 蓝图宏 和 蓝图接口 。
蓝图还能够做什么?
您已经阅读了关于 关卡蓝图 和 类蓝图 的信息,下面列出了几个可以通过 蓝图 系统完成的几个实例。
使用构建脚本创建自定义的预制
Construction Script(构建脚本) 是 类蓝图 中的一种图表类型,当在编辑器中放置或更新Actor时会执行它,但是在游戏过程中不会执行它。这对于轻松地创建自定义的道具是非常有用的,使得环境美工人员工作效率更快,比如一个光源设备,它可以自动地更新材质来匹配点光源组件的颜色和亮度;或者一个 蓝图 ,可以在一个区域上随机地散布植被网格物体。
在Content Examples(内容示例)地图中,包含每个示例的很长的房间(如上面的图片所示)实际上是由多个组件构成的一个 蓝图 。蓝图的构建脚本 根据 蓝图 的 详细信息 面板中暴露的参数创建及排列各种静态网格物体及光源。对于我们创建的每个Content Example(内容示例)地图,我们都可以把那个示例房间 蓝图 放置在其中,设置要生成的房间的长、高及数量(及其他几个选项),并且片刻就可以完成整套房间。
像这样的 蓝图 ,初次创建时会比较耗时,但是如果您明白您要经常使用它,那么构建关卡时所节约的时间、修改时的方便程度,使得这样设计变得非常值得。
创建 HUD
蓝图 脚本也可以用于创建游戏的 HUD,这和 类蓝图 类似,因为它可以包含事件序列和变量,但是它会被分配给您的项目的 GameMode(游戏模式) 资源,而不是直接添加到关卡中。
您可以设置一个 HUD 来从其他 蓝图 中读取变量,并使用这些变量来显示一个生命值条、更新分数、显示目标标记等。您还可以使用HUD给类似于可以点击的按钮或手游中可以对触摸输入做出反应的按钮添加命中区域。
上面图片中的所有示例都存在于虚幻引擎 4 的示例内容中,所以如果您想仔细查看相关内容,您可以在 Content Examples 、 Shooter Game 和 Swing Ninja 中找到它。
蓝图编辑器和图表
无论您正在构建一个 关卡蓝图 还是一个 类蓝图 ,您将会用到蓝图编辑器参考 中的蓝图元素 。
根据您所应用的 蓝图 类型的不同,有各种不同类型的 蓝图编辑器 。大部分 蓝图编辑器 的核心功能都是 图表 模式,通过使用其核心的 图表 选卡 可以布局您的 蓝图 网络。
蓝图的示例和教学
下面还有一些额外的资源可供用于学习蓝图系统。
Blueprint Lift Tutorial
Blueprint Power-Up Tutorial