Bitmask 蓝图变量

本页面的内容:

蓝图现支持将整数变量声明为位掩码。个体屏蔽位(标志)即可通过编辑器进行设置和复原,无需手动输入数值。此外,蓝图枚举 可被声明为 位掩码 类型,用作显式位标记标识符。

创建位掩码变量

蓝图编辑器 中使用 蓝图类 时,任意整数变量均可作为位掩码创建并声明。

  1. 勾选 蓝图枚举编辑器 中的 Bitmask Flags 属性创建同为位标记枚举类型的 蓝图枚举。也可使用 C++ 中通过 BitmaskEnum= 元数据设置的现成位标记枚举类型。

    image alt text

  2. 蓝图 中创建一个整数变量,然后在 Details 面板中启用 Bitmask 属性。

    image alt text

    这等同于 C++ 代码中的 Bitmask 元数据。

  3. Details 面板的 Bitmask Enum 下拉菜单中选择 蓝图枚举(或现成的位标记枚举)。

    image alt text

  4. 在变量的 Set 节点上,可使用下拉菜单选择变量值。编译蓝图后,也可在 Details 面板中设置默认变量值。

    image alt text

在运行时构建位掩码

可通过 Make Bitmask 节点在 蓝图类 中创建位掩码文本。

  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 节点被传递到 Bitwise XOR 节点,以开关保存在 Target Color Flags 中的 Red 标记。存储颜色值的枚举也启用了 Bitmask Flags 属性。

image alt text

在第二个实例中, Select 节点、Bitwise NOT 节点和 Bitwise AND 节点全部接受整数作为输入,因此它们可用于在三套颜色中进行选择、开关、然后将结果保存到 Target Color Flags 位掩码。

image alt text