蓝图现支持将整数变量声明为位掩码。个体屏蔽位(标志)即可通过编辑器进行设置和复原,无需手动输入数值。此外,蓝图枚举 可被声明为 位掩码 类型,用作显式位标记标识符。
创建位掩码变量
在 蓝图编辑器 中使用 蓝图类 时,任意整数变量均可作为位掩码创建并声明。
-
勾选 蓝图枚举编辑器 中的 Bitmask Flags 属性创建同为位标记枚举类型的 蓝图枚举。也可使用 C++ 中通过
BitmaskEnum=
元数据设置的现成位标记枚举类型。 -
在 蓝图 中创建一个整数变量,然后在 Details 面板中启用 Bitmask 属性。
这等同于 C++ 代码中的
Bitmask
元数据。 -
在 Details 面板的 Bitmask Enum 下拉菜单中选择 蓝图枚举(或现成的位标记枚举)。
-
在变量的 Set 节点上,可使用下拉菜单选择变量值。编译蓝图后,也可在 Details 面板中设置默认变量值。
在运行时构建位掩码
可通过 Make Bitmask 节点在 蓝图类 中创建位掩码文本。
-
在图表中 单击右键,然后在快捷菜单中输入“Make Bitmask”。
-
选择 Make Bitmask。
-
点击节点,然后查看 Details 面板。使用 Bitmask Enum 下拉菜单变更与位掩码相关的枚举类型。正如类中定义的整数变量一样,只有启用 Bitmask Flags 属性的枚举类型被列入下拉菜单。
-
现在即可在节点上选择 Bitmask 进行创建。
位掩码用法
位掩码可视为蓝图图表中的一个整数值。位掩码整数输出引脚可与接受整数值的任意输入引脚连接;这通常为按位 OR、AND、XOR 和 NOT 操作。
在第一个实例中,单个 Make Bitmask 节点被传递到 Bitwise XOR 节点,以开关保存在 Target Color Flags 中的 Red 标记。存储颜色值的枚举也启用了 Bitmask Flags 属性。
在第二个实例中, Select 节点、Bitwise NOT 节点和 Bitwise AND 节点全部接受整数作为输入,因此它们可用于在三套颜色中进行选择、开关、然后将结果保存到 Target Color Flags 位掩码。