Choose your operating system:
Windows
macOS
Linux
ブループリントで、integer 変数を bitmask として宣言できるようになりました。個々のマスク ビット (フラグ) は、値を手入力せずにエディタによる設定 / 解除が可能になります。 さらに、 ブループリントの列挙型変数 もまた明示的なビットフラグ識別子として使うように Bitmask Flags 型として宣言できるようになりました。
Bitmask 変数の作成
ブループリント エディタ で ブループリント クラス を使っていれば、すべての Integer 変数を bitmask として作成および宣言することができます。
-
ブループリント enum エディタ で [Bitmask Flags] 属性をオンに切り替えて、 ビットフラグ enum である Blueprint Enumeration を作成します。
BitmaskEnum=
メタデータを使って C++ で設定された、既存のビットフラグ enum 型も使用できます。 -
ブループリント で integer 変数を作成し、 [Details (詳細)] パネルで [Bitmask] 属性を有効にします。
C++ コードの
Bitmask
メタデータに相当します。 -
[Details (詳細)] パネルの [Bitmask Enum] ドロップダウン メニューから Blueprint Enumeration (または既存のビットフラグ enum) を選択します。
-
変数の Set ノードのドロップダウンから、変数名を選択することができます。ブループリントのコンパイル後、 [Details (詳細)] パネルでデフォルトの変数値の設定もできます。
ランタイム時のビットマスク作成
Make Bitmask ノード経由で Blueprint Class グラフにビットマスク リテラルを作成することができます。
-
グラフを 右クリック して、コンテキスト メニューから [Make Bitmask] を選択します。
-
[Make Bitmask (ビットマスクを作成)] を選択します。
-
ノードをクリックして [Details (詳細)] パネルを開きます。 [Bitmask Enum] ドロップダウンから、このビットマスクに関連づいている enum 型を変更します。クラスで定義された integer 変数と同様に、 Bitmask Flags 属性が有効にされた enum 型だけがドロップダウンに表示されます。
-
ノード上で Bitmask を選択して作成できます。
ビットマスクの使用方法
ブループリントでビットマスクは integer 値と同様に扱われます。ビットマスクの integer 出力ピンは、integer 値に合う入力とすべて接続することができます。 通常は、ビット幅の OR、AND、XOR、NOT 演算子になります。
最初の例では、 Target Color Flags に格納されている Red フラグを切り替えるために、 Make Bitmask ノードが 1 つ Bitwise XOR ノードにパスされています。カラー値を格納している enum の Bitmask Flags も 切り替わります。
次の例では、 Select ノード、 Bitwise NOT ノード、 Bitwise AND ノードはすべて integer を入力として受け取るので、この 3 種類のカラーのどれか 1 つの選択、3 種類の間での切り替え、 Target Color Flags ビットマスクへの結果の保存が可能になります。