블루프린트 세트

블루프린트의 고급 컨테이너 유형인 Set, 세트 컨테이너의 생성 및 편집, 그리고 프로퍼티 개요입니다.

Windows
MacOS
Linux

언리얼 엔진 4.15 버전 릴리즈 이후 UE4 의 Blueprint Application Programming Interface (API)Set (세트) 컨테이너 유형이 추가되었습니다. "컨테이너" 라는 것은, 보관 상자같은 것에 아이템 라벨을 붙인 뒤 박스 안에 넣어두고 바로 (아니면 나중에) 사용하는 것을 말합니다. 배열을 사용하여 아이템 컬렉션을 저장 및 작업을 해 봤다면, 이미 UE4 에서 블루프린트 컨테이너 사용을 해 본 것입니다. 예를 들어 배열로 나중에 사용할 아이템을 저장하면 아이템의 라벨은 배열에 있는 것이지만, 세트를 사용하면 라벨이 아이템 자체가 되는 것입니다. 세트로 인해 블루프린트 API 가 강력해 지는 것입니다.

블루프린트 세트는 블루프린트 API 추가 기능 중 흥미로운 것인데, 키를 통한 효율적인 룩업 및 값 구하기를 지원하기 때문입니다. 여기서 키가 곧 아이템 자체 세트의 특징 덕에, 개발자들은 컨테이너에 위치한 아이템을 효율적으로 추가, 검색, 제거할 수 있습니다. 게임에 따라 세트는 대화에 흔히 사용되는 단어를 무시하거나, 독특한 인벤토리 아이템을 저장하는 데도 사용할 수 있습니다. 명확히, 세트로 작업할 수 있는 예는 많이 있지만, 게임에 세트의 막강한 힘을 활용하기 전 UE4 에서 제대로 사용하기 위해 배워야 할 것들이 있습니다.

이 글을 통해 블루프린트 세트 생성 몇 편집 방법에 대해 배우게 될 것입니다. 블루프린트 세트의 프로퍼티에 대한 설명 역시 게임 프로젝트에 세트를 최대한 활용하는 데 도움이 될 것입니다.

데모 목적 상 (아래 세팅을 적용한) 기본 블루프린트 프로젝트 를 사용하여 블루프린트 세트 생성 및 편집 방법을 보여드리고 있습니다.

클릭하면 이미지 원본을 확인합니다.

세트 생성

블루프린트 세트를 새로 생성하는 방법은 다음과 같습니다.

  1. 작업할 블루프린트 클래스가 없는 경우, 신규 추가 버튼으로 새 블루프린트 클래스를 프로젝트에 추가합니다.

    클릭하면 원본 이미지를 확인합니다.

  2. 이제 부모 클래스 선택 메뉴에 표시되는 클래스 목록에서 Actor 를 선택합니다.

    creatingSets_Step2.png

  3. 액터 클래스 이름을 지은 후, 계속해서 콘텐츠 브라우저 안에 새로 생성된 액터 클래스를 더블 클릭하여 엽니다.

    클릭하면 원본 이미지를 확인합니다.

  4. 액터의 블루프린트 스크립트 편집을 시작하려면, 이벤트 그래프 탭을 선택합니다.

    클릭하면 원본 이미지를 확인합니다.

  5. 액터의 이벤트 그래프 가 열린 상태로 마우스 커서를 변수 서브메뉴에 올리면 + 변수 버튼이 드러납니다.

    클릭하면 원본 이미지를 확인합니다.

  6. 새로운 String 변수를 생성하고 이름을 MyStringSet 라 합니다.

    클릭하면 원본 이미지를 확인합니다.

  7. 현재 MyStringSet 은 단일 String 변수입니다. MyStringSetSet 컨테이너로 변환하려면, 액터의 디테일 패널Variable Type (변수 유형) 라벨 오른편에 위치한 Variable Type (변수 유형) 버튼을 클릭합니다.

    클릭하면 원본 이미지를 확인합니다.

  8. 나타나는 드롭다운 메뉴에 네 가지 컨테이너 옵션이 표시됩니다. { } 옵션을 선택하면 MyStringSet 가 블루프린트 세트로 변환됩니다.

    creatingSets_Step8.png

좋습니다, 이제 막 새로운 String Set 컨테이너를 만들었습니다 (이름은 MyStringSet).

creatingSets_Step9.png

세트 편집

새로 생성된 세트 편집을 하려면, Set 변수 컨테이너를 캡슐화시킨 블루프린트를 컴파일해야 합니다.

클릭하면 원본 이미지를 확인합니다.

  1. MyStringSet 를 편집하려면, 블루프린트의 컴파일 버튼을 클릭합니다.

    클릭하면 원본 이미지를 확인합니다.

  2. 블루프린트를 컴파일한 이후 Set 의 (디테일 패널에 위치한) Default Value (기본 값)에 MyStringSet 이 비어 있음을 알 수 있습니다.

    클릭하면 원본 이미지를 확인합니다.

  3. 새로운 String 엘리먼트를 MyStringSet 에 추가하려면, 디테일 패널 Default Value 메뉴의 0 Set elements 옆에 위치한 + 버튼을 클릭합니다.

    creatingSets_Step13.png

  4. 계속해서 + 버튼을 다시 한 번 누릅니다.

    creatingSets_Step14.png

    새로운 엘리먼트의 기본 값을 업데이트하기 전 블루프린트 Set 에 엘리먼트를 추가하려 하면 언리얼 에디터에서 경고가 날 것입니다. Step14_Warning.png

  5. MyStringSet 에 엘리먼트를 셋 추가하고, 이름을 Apple, Banana, Cherry 라 합니다.

    creatingSets_Step15.png

  6. 이제 엘리먼트를 하나 더 추가하고, 이름을 Banana 라 합니다.

    creatingSets_Step16.png

    기존 값과 같은 값으로 새 엘리먼트를 추가하려 하면 언리얼 에디터에서 경고가 날 것입니다.

    Step16_Warning.png

  7. 앞서 말한 경고를 염두에 두고, 계속해서 네 번째 엘리먼트 Date 를 추가합니다.

잘 하셨습니다! 이제 새로운 블루프린트 Set 를 추가하고, 엘리먼트 넷을 추가 및 편집했습니다.

creatingSets_Step17.png

컨테이너 프로퍼티

UE4 에서 블루프린트 Set 사용을 시작하려면 다음 프로퍼티 목록을 참고하세요.

  • 세트의 아이템( 또는 엘리먼트)는 고유해야 합니다.

  • 세트의 모든 항목은 정의(초기화)되어야 합니다 .

  • 내부적으로 세트에 저장된 아이템은 순서가 없습니다.

  • 세트의 모든 아이템은 동질성입(유형이 동일합)니다.

  • 세트의 아이템 추가, 제거, 검색 작업은 빠릅니다.

  • 세트의 아이템 값은 검색에 사용되는 키이기도 합니다.

  • 현재 블루프린트 세트는 변경불가(immutable)합니다. 생성한 후에는 변경할 수 없다는 뜻입니다.

블루프린트에서 세트를 생성 및 편집하는 법을 배웠으니, 블루프린트 세트 노드 레퍼런스에서 블루프린트 Set 노드 인터페이스에 대해 더욱 자세히 배워보실 수 있습니다.

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

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

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

네이버 카페
공식 포럼