블루프린트는 이제 인티저 변수를 비트마스크로 선언하는 기능을 지원합니다. 이를 통개 개별 마스크 비트(플래그)에 대한 값 설정/해제를 수동 값 입력이 아닌 에디터를 통해 가능해졌습니다. 부가적으로, Blueprint Enumerations (블루프린트 Enum) 역시 Bitmask Flags (비트마스크 플래그) 유형으로 선언하여 명시적 비트 플래그 식별자로 사용할 수 있습니다.
비트마스크 변수 생성
블루프린트 에디터 에서 블루프린트 클래스 작업시 어떤 인티저 변수도 비트마스크로 생성 및 선언 가능합니다.
-
블루프린트 Enum 을 생성합니다. 이는 블루프린트 Enum 에디터 에서 Bitmask Flags (비트마스크 플래그)를 켜면 되는 비트플래그 Enum이기도 합니다. C++ 에 구성된 기존 비트플래그 Enum 을 사용할 수도 있는데,
BitmaskEnum=
메타데이터를 사용하면 됩니다. -
블루프린트 에서 인티저 변수를 생성한 뒤 디테일 패널에서 Bitmask (비트마스크) 특성을 켭니다.
이는 C++ 코드의 `Bitmask** 메타데이터에 해당합니다.
-
켜면 블루프린트 그래프 내 변수 노드의 UI 가 기본 핀 값에 대한 프로퍼티 에디터 유저 인터페이스에 일치하도록 바뀝니다:
-
변수의 Set 노드에서, 드롭다운을 통해 변수의 값을 선택할 수 있을 것입니다. 블루프린트를 컴파일한 이후 디테일 패널에서 변수 기본값을 설정할 수도 있을 것입니다.
실행시간에 비트마스크 생성
Bitmask 리터럴은 블루프린트 클래스 에서 Make Bitmask 노드를 통해 생성 가능합니다.
-
그래프에 우클릭 한 후 컨텍스트 메뉴에 Make Bitmask 라 입력합니다.
-
Make Bitmask 를 선택합니다..
-
노드가 선택되면, 디테일 패널에는 비트마스크에 연관되어 있는 Enum 타입 변경 옵션이 포함됩니다. 클래스 내에 정의된 인티저 변수와 마찬가지로, Bitmask Flags 특성이 켜진 Enum 타입만 드롭다운에 나열됩니다:
-
노드에서 이제 Bitmask 를 선택하여 생성할 수 있습니다.
비트마스크 사용
비트마스크는 블루프랜트 그래프에서 인티저 변수와 똑같이 취급됩니다. 비트마스크 인티저 출력 핀은 인티저 값을 받는 어느 입력 핀에는 연결할 수 있는데, 이는 보통 비트단위 OR, AND, XOR, NOT 연산이 해당합니다.
여기 첫 예제에서는, 하나의 Make Bitmask 노드가 Bitwise XOR 노드에 전달되어 Target Color Flags 에 저장된 Red 플래그를 토글시키고 있습니다. 컬러 값을 저장하는 Enum 은 Bitmask Flags 특성이 켜지기도 합니다.

두 번째 예제에서는, Select 노드, Bitwise NOT 과 Bitwise AND 노드 모두 인티저를 입력으로 받으므로, 이를 사용해서 세 가지 색 세트 중 하나를 선택, 코들한 다음 결과를 Target Color Flags 비트마스크에 저장합니다.
