位掩码蓝图变量

蓝图整数变量可以声明为位掩码,从而以更紧凑的方式存储二进制标记。

Choose your operating system:

Windows

macOS

Linux

蓝图现在支持将整数变量声明为位掩码。这允许通过编辑器设置和取消设置各个屏蔽位(标记),而不必手动输入值。 此外, 蓝图列举(Blueprint Enumerations) 还可以声明为 位掩码标记(Bitmask Flags) 类型,以作为显式位标记辨识符使用。

创建位掩码变量

蓝图编辑器(Blueprint Editor) 中使用_蓝图类(Blueprint Class)_时,还可以创建任意整数变量并将其声明为位掩码。

  1. 通过在_蓝图列举编辑器(Blueprint Enumeration Editor) 中切换 位掩码标记(Bitmask Flags) 属性,创建一个同样是位标记列举类型的_蓝图列举 (Blueprint Enumeration) 。您还可以使用在C++中通过"BitmaskEnum="元数据设置的现有位标记列举类型。

    image alt text

  2. 在您的_蓝图(Blueprint)_中,创建一个整数变量,然后在 **详细信息(Details)** 面板中启用 **位掩码(Bitmask)** 属性。

    image alt text

    这相当于C++代码中的"位掩码"元数据。

  3. 详细信息(Details) 面板的 位掩码列举(Bitmask Enum) 下拉菜单中选择您的_蓝图列举(Blueprint Enumeration)_(或现有位标记列举)。

    image alt text

  4. 在变量的 设置(Set) 节点上,您将能够使用下拉菜单选择变量的值。编译蓝图后,您还可以在 详细信息(Details) 面板中设置默认变量值。

    image alt text

在运行时构造位掩码

可以通过 创建位掩码(Make Bitmask) 节点在_蓝图类(Blueprint Class)_图中创建位掩码文字。

  1. 在图中 右键单击 并在上下文菜单中键入"创建位掩码(Make Bitmask)"。

  2. 选择 创建位掩码(Make Bitmask)

    image alt text

  3. 单击节点,然后查看 详细信息(Details) 面板。使用 位掩码列举(Bitmask Enum) 下拉菜单更改与位掩码关联的列举类型。与类中定义的整数变量一样, 下拉列表中只列出已启用 位掩码标记(Bitmask Flags) 属性的列举类型。

    image alt text

  4. 在节点上,现在可以选择要创建的 位掩码(Bitmask)

    image alt text

位掩码的使用

在蓝图中,位掩码像整数值一样处理。位掩码整数输出引脚可以连接到任何接受整数值的输入引脚;这 通常是按位OR、AND、XOR和NOT运算 。

在第一个示例中,将一个 创建位掩码(Make Bitmask) 节点传递给 按位XOR(Bitwise XOR) 节点,以切换 目标颜色标记 中存储的 红色(Red) 标记。存储颜色值的列举还将 开启 位掩码标记(Bitmask Flags) 属性。

image alt text

在第二个示例中, 选择(Select) 节点、 按位NOT(Bitwise NOT) 节点和 按位AND(Bitwise AND) 节点都接受整数作为输入,因此可以使用它们来选择三组颜色中的一组颜色,对它们进行切换, 然后将结果保存到 目标颜色标记 位掩码中。

image alt text

欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消