蓝图内容范例

本页面的内容:

内容范例项目中包含数个 蓝图 页面,展示 蓝图 系统的能力和灵活性。无论是需要定义玩家功能键、应用回复剂/拾取系统,或只是需要简单设置一个玩家靠近时开启的门,这些页面中的范例均会为您指出实现方法。

此页面说明每个页面中所包含的范例和其所在位置,以便您跳至感兴趣的部分,直接开始编写脚本。如您对蓝图了解不多,建议您先从 蓝图_总览 页面开始,它包含系统核心内容,有助于您上手使用。

在范例相应的表格中点击其名称即可找到范例构建的额外资源(如有)。

蓝图_总览页面

blueprint_ce_header.png

蓝图_总览 页面包含蓝图的重要方面:组件、使用 构建脚本事件图表、如何编辑/设置 变量、简单运算、使用不同类型的 Flow Control 节点控制蓝图的流程。 这些部分均为蓝图的常用要素,请仔细阅读。

范例 展示内容
1.1 Hello World 范例 在关卡中显示浮动文本的基础蓝图(例如进行游戏时,浮动文本“Hello World”显示在关卡中)。
1.2 组件范例 组件范例,以及如何在单个蓝图中使用多个组件(例如 sprite、静态网格体、以及灯光均在一个蓝图中使用)。
1.3 变量范例 如何将变量设为公开或私有,以及编辑方法(例如可通过 Details 面板变更一个灯光颜色,或只可在蓝图中进行变更)。
1.4 构建脚本范例 如何通过构建脚本禁用/启动蓝图的组件(例如使用复选框开关蓝图中的组件)。
1.5 事件图表范例 构建脚本和事件图表用于自定义网格体颜色,无需编辑材质(例如通过 Details 面板定义火箭的颜色)。
1.6 简单运算范例 该蓝图中使用了一个事件标记,随时间流逝执行简单的加法(例如一个从 0 秒开始向上计数的计时器)。
1.7 流程范例 此蓝图使用不同类型流程控制修改物体的移动、颜色和特效(例如一个硬币移动的方向、其颜色、是否通过 Details 面板应用特效)。

蓝图_高级页面

BlueprintAdvanced_Header.png

蓝图_高级 页面详细说明如何使用 构建脚本事件图表 生成内容。

构建脚本范例

构建脚本 部分说明:如何在特定半径中随机生成网格体、基于 Actor 的中心点自动生成网格体、对称地生成网格体、或生成自定义聚光灯的所有组件。

范例 展示内容
1.1 随机网格体范例 如何在特定半径中随机生成静态网格体(如在一个半径中随机生成地面杂物或岩石)。
1.2 自动墙范例 如何从 Actor 的中心点延伸出一排网格体(例如可进行长度调整的围栏)。
1.3 自动环形范例 如何将特定数量的网格体间隔开形成一个环形,每个网格体的位置决定其旋转(例如间隔均匀、位置决定朝向的网格体环形)。
1.4 自定义聚光灯范例 如何使用构建脚本将一个聚光灯的所有组件组合为一个 Actor(例如一个可定义开关状态、灯光颜色、朝向和半径的聚光灯)。

事件图表范例

事件图表 范例说明:如何通过时间轴设置静态网格体的动画、如何自动旋转 Actor 跟踪玩家移动、如何在蓝图之间传递变量、如何创建一个自动触发打开的门、如何创建不同类型的拾取物。

范例 展示内容
2.1 时间轴动画范例 如何使用时间轴设置静态网格体的动画,通过事件轨迹在特定点生成发射器(例如创建一个反弹的球)。
2.2 Actor 追踪范例 如何使一个 Actor 在玩家进入特定范围后朝向玩家(例如一个对玩家移动做出响应,跟随玩家的聚光灯)。
2.3 按钮触发器(蓝图界面)范例 如何使用蓝图界面将一个变量从一个蓝图传递到另一个蓝图(例如将一个开关变量从按钮传递到一套有动画的装置)。
2.4 开门(触发器)范例 如何使用触发器和时间轴实现门的自动开关。
2.5 子蓝图范例 如何应用来自相同父类的不同类型拾取物(例如拾起后功能各不相同的回复品、硬币、杯型蛋糕)。

蓝图_通信页面

BlueprintCommunication_Header.png

使用蓝图时,可能需要从其他蓝图执行函数或访问特定变量,根据不同需要采取不同的通信方法。 蓝图_通信 页面展示通过 直接蓝图通信事件调度器蓝图界面 在蓝图间传递信息的多种方法。

蓝图通信范例

直接蓝图通信蓝图通信 部分说明通过对蓝图的定向和投射在蓝图之间访问和提供信息的基本方法。

范例 展示内容
1.1 基础通信(目标蓝图) 通过自定义事件开关灯光蓝图的按钮蓝图范例。
1.2 基础通信(Actor 投射) 如何使用重叠事件检测特定类的蓝图(例如连接电池进行开关的灯泡)。
1.3 通信(Actor 投射到子蓝图) 如何使用共享其父项功能但同时拥有独立功能的子蓝图(例如通过连接不同能量值的电池对灯光进行开关)。
1.4 与特定类所有 Actor 的通信 如何与一个特定类的数个 Actor 进行通信(例如一次性打开数个灯光,每个灯光的功能均不相同)。

事件调度器范例

事件调度器 范例包含在蓝图和 关卡蓝图 之间通信的另一种方法。 此外,将一个或多个事件 绑定事件调度器 上后,一旦 事件调度器 被调用,绑定的多个事件将立即发生。

范例 展示内容
2.1 使用事件调度器 如何使用事件调度器在关卡蓝图中调用事件(例如使用事件调度器开关灯光)。
2.2 将事件调度器和自定义事件绑定 如何在关卡蓝图中将事件调度器和自定义事件绑定(例如开关一个使物体随时间旋转的按钮)。
2.3 将事件调度器和自定义生成事件绑定 如何启用/禁用事件调度器的触发器,该事件调度器在生成的 Actor 摧毁后被调用(例如按下按钮生成一个炸弹,在此炸弹爆炸前无法生成其他炸弹)。

蓝图界面范例

在一些情况下,多个蓝图间存在共通性(如被投射物击中,受到一定程度的损伤),但它们实质却完全不同(如一辆车和一棵树)。 车和树受到损伤时,蓝图界面 提供了一种通信方法,使它们对损伤做出相同的响应,但其自身的组件和功能完全不同。

范例 展示内容
3.1 蓝图界面(蓝图阵列) 如何通过阵列在多个不同类的蓝图之间通信(例如通过一个开关旋转物体并开关不同的灯光)。
3.2 蓝图界面(互动蓝图) 如何基于输入在玩家蓝图到 Actor 蓝图之间进行通信(例如互动开关、曲柄、或带滑轮链条的杠杆)。
3.3 蓝图界面(投射物碰撞) 如何使用蓝图界面检查对特定类型 Actor 形成碰撞的资源(例如三个物体在与火焰或水形成碰撞时存在不同的响应)。

蓝图_输入_范例页面

images/BlueprintInput_Header.png

蓝图_输入_范例 页面中包含三个范例,说明如何利用三种不同类型游戏(2D 横卷轴游戏、顶视角太空射击游戏、3D 飞行 UFO 游戏)中的蓝图创建玩家输入。

范例 展示内容
1.1 2D 输入(横卷轴角色) 展示一个包含左右移动和跳跃的 2D 横卷轴游戏范例。
1.2 2D 输入(太空射击) 展示一个包含左右移动和可投射物的 2D 太空射击游戏范例。
1.3 物理驱动输入(UFO 范例) 展示一个包含 WASD 移动操作、升空和降落、加速、以及诱导光线机制的太空船游戏范例。

蓝图_鼠标_互动页面

BlueprintMouse_Header.png

蓝图_鼠标_互动 页面说明如何合并鼠标输入(或移动设备触摸输入)、以及如何通过蓝图使物体对鼠标或触摸输入做出响应。 在范例中,可在屏幕上随意点击拖动物体,这些物体互动时将形成响应,并与移动的组件形成互动。

可在此处查阅该页面的详细信息:

范例 展示内容
1.1 蓝图鼠标互动 如何在游戏中应用鼠标和触摸输入。

蓝图_HUD页面

BlueprintHUD_Header.png

蓝图_HUD 页面包含通过 HUD 蓝图 生成 HUD 元素、以及创建基础暂停菜单的范例。范例还将展示如何创建体力/伤害和拾取系统、以及路径任务标记系统。

可在此处查阅该页面的详细信息:

范例 展示内容
1.1 蓝图 HUD 范例 展示包含基础暂停菜单(有可点击按钮)的简单游戏内 HUD。

蓝图_样条页面

images/blueprintSplines_ce_header.png

内容范例中的 蓝图_样条 页面展示如何结合 蓝图 使用 样条组件,创建可以多种不同方式使用的路径。为蓝图添加一个样条组件并选择蓝图的一个实例,即可在关卡中编辑样条。然后即可在视口中选择样条键,并使用平移、旋转和缩放空间按 Actor 的方式对其进行操作。

提供的内容范例将说明如何结合构建脚本使用 蓝图样条,创建静态网格物体的路径;以及如何在游戏进程中修改样条路径或样条网格体,创建内容或动画。

构建脚本范例

以下范例展示如何结合蓝图的构建脚本使用样条组件,在视口中实时生成路径和可缩放的静态网格体。

范例 展示内容
1.1 蓝图样条组件 如何在视口中对样条组件进行简单编辑(例如在视口中移动一个样条组件的四个样条点)。
1.2 沿样条放置组件 蓝图如何从样条组件中获取多种信息(例如静态网格体组件沿样条放置的方式,组件的朝向由其所放置的样条方向决定)。
1.3 样条网格体组件 样条网格体是用于拉伸和弯曲静态网格体资源的另一种样条组件(例如使用视口中的控件可拉伸管道并确定其方向)。

动态范例

动态范例 显示样条组件在游戏进程中动态更新的方式,提供物体的环境背景移动,或设置物体和可操作角色的动画。

范例 展示内容
2.1 使用样条作为路径 样条组件用作粒子特效跟随路径的范例。
2.2 模拟时变更样条 如何在游戏进程中动态创建样条组件(例如进行游戏或模拟时沿样条设置灯笼线的动画)。
2.3 设置样条网格体动画 样条组件也可用作样条网格体移动的路径(例如藤蔓从地面沿样条路径生长)。
2.4 样条网格体用于 Pawn 动画 如何使用样条网格体设置 pawn 的动画(例如使用样条网格体设置可操作鱼的游泳动画)。