비트마스크 블루프린트 변수

블루프린트 인티저 변수를 비트마스크로 선언하여 바이너리 플래그를 보다 깔끔하게 저장할 수 있습니다.

Windows
MacOS
Linux

블루프린트는 이제 인티저 변수를 비트마스크로 선언하는 기능을 지원합니다. 이를 통개 개별 마스크 비트(플래그)에 대한 값 설정/해제를 수동 값 입력이 아닌 에디터를 통해 가능해졌습니다. 부가적으로, Blueprint Enumerations (블루프린트 Enum) 역시 Bitmask Flags (비트마스크 플래그) 유형으로 선언하여 명시적 비트 플래그 식별자로 사용할 수 있습니다.

비트마스크 변수 생성

블루프린트 에디터 에서 블루프린트 클래스 작업시 어떤 인티저 변수도 비트마스크로 생성 및 선언 가능합니다.

  1. 블루프린트 Enum 을 생성합니다. 이는 블루프린트 Enum 에디터 에서 Bitmask Flags (비트마스크 플래그)를 켜면 되는 비트플래그 Enum이기도 합니다. C++ 에 구성된 기존 비트플래그 Enum 을 사용할 수도 있는데, BitmaskEnum= 메타데이터를 사용하면 됩니다.

    image alt text

  2. 블루프린트 에서 인티저 변수를 생성한 뒤 디테일 패널에서 Bitmask (비트마스크) 특성을 켭니다.

    image alt text

    이는 C++ 코드의 `Bitmask** 메타데이터에 해당합니다.

  3. 켜면 블루프린트 그래프 내 변수 노드의 UI 가 기본 핀 값에 대한 프로퍼티 에디터 유저 인터페이스에 일치하도록 바뀝니다:

    image alt text

  4. 변수의 Set 노드에서, 드롭다운을 통해 변수의 값을 선택할 수 있을 것입니다. 블루프린트를 컴파일한 이후 디테일 패널에서 변수 기본값을 설정할 수도 있을 것입니다.

    image alt text

실행시간에 비트마스크 생성

Bitmask 리터럴은 블루프린트 클래스 에서 Make Bitmask 노드를 통해 생성 가능합니다.

  1. 그래프에 우클릭 한 후 컨텍스트 메뉴에 Make Bitmask 라 입력합니다.

  2. Make Bitmask 를 선택합니다..

    image alt text

  3. 노드가 선택되면, 디테일 패널에는 비트마스크에 연관되어 있는 Enum 타입 변경 옵션이 포함됩니다. 클래스 내에 정의된 인티저 변수와 마찬가지로, Bitmask Flags 특성이 켜진 Enum 타입만 드롭다운에 나열됩니다:

    image alt text

  4. 노드에서 이제 Bitmask 를 선택하여 생성할 수 있습니다.

    image alt text

비트마스크 사용

비트마스크는 블루프랜트 그래프에서 인티저 변수와 똑같이 취급됩니다. 비트마스크 인티저 출력 핀은 인티저 값을 받는 어느 입력 핀에는 연결할 수 있는데, 이는 보통 비트단위 OR, AND, XOR, NOT 연산이 해당합니다.

여기 첫 예제에서는, 하나의 Make Bitmask 노드가 Bitwise XOR 노드에 전달되어 Target Color Flags 에 저장된 Red 플래그를 토글시키고 있습니다. 컬러 값을 저장하는 Enum 은 Bitmask Flags 특성이 켜지기도 합니다.

image alt text

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

image alt text

태그
Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼