Language:
Page Info
Skill Level:
Engine Version:
Share

蓝图 Set

本页面的内容:

虚幻引擎 4.15 版本发布后,Set 容器类已被加入 蓝图应用程序编程接口(API) 。 如您不了解“容器”,可将其想象为一个储物盒。您可将项目进行标记并放置在盒中以便立即(或之后)使用。如您已使用 Array 存储并使用项目集,则意味着其实您已经开始使用 UE4 中的蓝图容器。举例而言,使用 Array 存储项目以便之后使用的时候,项目的标签便是其在 Array 中的位置。然而使用 Set 时,标签即为项目自身。这使得 Set 成为了蓝图 API 的一个有力补充。

蓝图 Set 支持通过键进行有效查找和检索(键即为项目自身),因此它是对蓝图 API 的极佳补充。Set 的特性是项目的键即为项目自身。意味着开发者利用 Set 能有效添加、寻找和移除容器中的项目。取决于游戏类型,Set 可用于无视对话中的常用语,或用于保存特殊的物品栏物品。显而易见的是,Set 还有诸多其他潜在用途。然而在游戏中利用强大的 Set 之前,您还需要学习如何在 UE4 中正确使用。

通读此页后,您将了解到如何创建和编辑蓝图 Set。您还将了解到蓝图 Set 的属性,它们将助您在游戏项目中充分发挥 Set 的优势。

为便于说明,我们使用一个 空白蓝图项目(带下图中框中的设置)为您展示如何创建和编辑蓝图 Set。

点击查看全图。

创建 Set

根据以下步骤即可新建蓝图 Set。

  1. 如无可用蓝图类,需要为项目 添加 一个新的蓝图类。

    点击查看全图。

  2. 然后从 Pick Parent Class 菜单中选中 Actor

    creatingSets_Step2.png

  3. 为 Actor 类命名后,在 Content Browser 中双击将新建的 Actor 类打开。

    点击查看全图。

  4. 选择 Event Graph 标签,开始编辑 Actor 的蓝图脚本。

    点击查看全图。

  5. Actor 的 事件图表 打开后,将鼠标指针悬停在 Variables 子菜单上,显示 + Variable 按钮。

    点击查看全图。

  6. 新建一个 字符串 变量,将其命名为 MyStringSet

    点击查看全图。

  7. 当前 MyStringSet 是一个单一 字符串 变量。点击 Variable Type 按钮即可开始将 MyStringSet 装入 Set 容器。此按钮位于 Actor 的 Details 面板中 Variable Type 标签的右侧。

    点击查看全图。

  8. 此时将出现一个下拉菜单,显示 4 个容器选项。选择 { } 选项将 MyStringSet 转为蓝图 Set:

    creatingSets_Step8.png

干得漂亮,您已新建字符串 Set 容器(命名为 MyStringSet)。

creatingSets_Step9.png

编辑 Set

编辑新建的 Set 之前,需要编译封装 Set 变量容器的蓝图。

点击查看全图。

  1. 点击蓝图的 Compile 按钮编辑 MyStringSet

    点击查看全图。

  2. 编译蓝图后,Set 的 Default Value(位于 Details 面板中)显示 MyStringSet 为空。

    点击查看全图。

  3. 点击 + 按钮即可将新字符串元素添加到 MyStringSet,此按钮位于 Details 面板 Default Value 菜单中 0 Set elements 旁。

    creatingSets_Step13.png

  4. 再次点击 + 按钮。

    creatingSets_Step14.png

    如在更新新元素的默认值之前尝试将元素添加到到蓝图 Set,虚幻编辑器将发出警告。 Step14_Warning.png

  5. MyStringSet 添加三个元素,分别命名为 AppleBananaCherry

    creatingSets_Step15.png

  6. 现在增加一个元素,将其命名为 Banana

    creatingSets_Step16.png

    如果添加的新元素的值与现有元素的相同,虚幻编辑器将发出警告。

    Step16_Warning.png

  7. 了解之前提及的警告,将第四个元素命名为 Date

干得漂亮!您已创建了一个新蓝图 Set,并添加和编辑了四个元素。

creatingSets_Step17.png

容器属性

如果想开始了解在 UE4 中使用蓝图 Set 容器,请参考以下属性列表。

  • Set 中的项目(或元素)必须独一无二。

  • Set 中的所有项目必须被定义(设定初值)。

  • 在底层下,存储在 Set 中的项目为无序状态。

  • Set 中的所有项目均为齐次(类型相同)。

  • 在 Set 中添加、移除和寻找项目的运算速度较快。

  • Set 中项目的值也是用于寻找此项目的键。

  • 当前蓝图 Set 为不可变,意味着它们创建后便不能进行修改。

学习到如何在蓝图中创建和编辑 Set 容器后,即可查阅 蓝图 Set 节点 参考指南,了解蓝图 Set 节点接口的详细内容。

相关页面