2 - 블루프린트 맵 생성 및 표시

게임 내에서 블루프린트 맵 컨테이너 내용을 표시하도록 구성합니다.

Windows
MacOS
Linux

새로 생성된 프로젝트에서 TextRender 액터 구성을 마쳤으니, 블루프린트 맵 컨테이너 생성 준비가 다 되었습니다. 이제 그 내용을 게임 내에서 표시하도록 하겠습니다.

  1. 프로젝트의 콘텐츠 브라우저 에서 Display Set TextRender Actor 를 더블클릭하여 그 블루프린트 이벤트 그래프 를 엽니다.

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

  2. 다음 화면이 보이면 Open Full Blueprint Editor (풀 블루프린트 에디터 열기) 링크를 클릭하여 시작합니다.

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

  3. Display Set TextRender Actor 블루프린트 이벤트 그래프 가 보일텐데, 여기서 블루프린트 맵 및 그 표시 로직을 추가할 수 있습니다.

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

    앞서 말한 화면이 보이지 않는 경우, 이벤트 그래프 탭을 클릭하면 액터의 블루프린트 이벤트 그래프 에디터가 열립니다.

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

  4. 이제 블루프린트 맵 컨테이너를 만들 차례입니다. 나중에 표시할 키-값 짝이 바로 이 곳에 저장됩니다. 새 블루프린트 맵을 만들려면, (내 블루프린트 패널에 위치한+ 신규 추가 버튼을 클릭하고 드롭다운 목록에서 Variable** (변수)를 선택합니다.

    Step2_4.png

  5. 새 변수 이름은 Instruction Map 이라 합니다.

    Step2_5.png

  6. 변수의 핀 유형 버튼을 클릭합니다. 변수 이름 옆에 있습니다.

    Step2_6.png

  7. 드롭다운 목록에서 Integer 변수 유형을 선택합니다.

    Step2_7.png

  8. 변수의 컨테이너 유형 버튼을 클릭합니다. 디테일 패널의 Variable Type (변수 유형) 드롭다운 리스트 옆에 있습니다.

    Step2_8.png

  9. 드롭다운 리스트에서 Map (맵) 컨테이너 유형을 선택합니다.

    Step2_9.png

  10. 맵의 키-값 프로퍼티 유형을 정의할 차례입니다. 현재 키는 Interger 로 바람직한 프로퍼티 유형입니다. 하지만 값 유형은 String 유형힙니다. 값을 Integer 에서 String 으로 변경하려면, 값 프로퍼티 유형 드롭다운 리스트에서 선택해 주면 됩니다.

    Step2_10.png

  11. 드롭다운 리스트에서 String 을 선택합니다.

    Step2_11.png

  12. 이제 IntegerString 유형( 각각)의 키-값이 생겼습니다. 또한, 블루프린트 그래프에서는 블루프린트를 컴파일해야 컨테이너 안에 저장하려는 아이템을 정의할 수 있다고 알려줍니다. 계속해서 컴파일 버튼을 클릭하여 시작합니다.

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

    블루프린트를 컴파일하면 인터페이스가 있는 컨테이너의 Default Value 메시지를 대체시켜, 컨테이너를 키-값 짝으로 채울 수 있습니다. 여기서 맵의 키는 Integer, 값은 String 입니다.

  13. 아직 저장하지 않았으면 저장 버튼을 눌러 지금까지 작업 내용을 저장합니다.

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

    일반적으로, 항상 일찍 자주 저장하는 습관을 들이는 것이 좋습니다.

  14. (디테일 패널의 Default Value 메뉴에 있는) + (엘리먼트 추가) 버튼을 클릭하여 새로 정의된 Instruction Map 컨테이너에 키-값 짝을 새로 추가합니다.

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

  15. 컨테이너의 새로운 키-값 짝을 정의합니다. 키는 1 로, 값은 WASD to run 으로 정의합니다.

    Step2_15.png

  16. 전의 두 단계를 반복하여, Instruction Map 컨테이너를 다음 키-값 짝으로 채웁니다:

    Step2_16.png

로직 스크립트 작성

새로 만든 블루프린트 맵 내용을 표시하기에 앞서, 필요한 로직을 작성해 줘야 합니다.

  1. 컨테이너 정의를 마쳤으니, Instruction Map 변수를 끌어 블루프린트 이벤트 그래프에 놓습니다.

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

  2. Instruction Map 드롭다운 리스트에서 Get 을 선택합니다.

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

  3. Instruction Map 노드를 끌어 놓고 Map Utilities 인터페이스에서 Find 노드를 추가합니다.

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

    맵에서 값을 구하는 방법은 여러가지입니다. 이 튜토리얼에서는 정수 키 값을 증가시켜 Instruction Map 에 들어있는 할당 값을 표시하도록 하겠습니다.

  4. 앞서 말씀드린 내용을 염두에 두고, + 신규 추가 버튼을 클릭, 드롭다운 리스트에서 Variable (변수)를 선택합니다.

    Step2_20.png

  5. 변수 유형은 Integer 유형으로 설정하고, 이름은 Key 라 합니다.

    Step2_21.png

  6. 새로운 Integer 변수를 선언하고 정의한 이후, Key 를 끌어 블루프린트 이벤트 그래프에 놓은 뒤 드롭다운 리스트에서 Get 을 선택합니다.

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

  7. Key 노드를 끌어 놓고 IncrementInt 노드를 검색하여 추가합니다.

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

  8. 이제 IncrementInt 노드를 Find 노드에 연결합니다.

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

    이 튜토리얼 목적 상 타임 함수를 사용하여 Key 값을 증가시키도록 하겠습니다.

  9. Event Tick 노드를 끌어 놓고, Delay 노드를 검색 추가합니다.

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

  10. 딜레이를 2 초로 설정한 뒤 Delay 노드를 IncrementInt 노드에 연결합니다.

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

  11. Event BeginPlay 노드를 끌어 놓고, Branch 노드를 검색 추가하여 연결합니다.

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

  12. IncrementInt 노드를 Branch 노드에 연결합니다.

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

  13. Find 노드에 속하는 Boolean 반환 값을 Branch 노드의 Condition 핀에 연결합니다.

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

    Find 노드가 맵의 아이템을 찾는 데 성공하면, 노드는 true 를 반환합니다. 아니라면 Find 노드가 false 를 반환하는 경우, 맵에 제공된 키를 사용하는 아이템이 들어있지 않은 것입니다.

  14. Branch 노드의 True 핀을 끌어놓고, Set Text(TextRender) 노드를 검색 추가 후 연결합니다.

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

    이 로직 브랜치는 컨테이너에 유효한 키-값 짝이 있는 경우 컨테이너에 할당된 값을 표시하도록 하는 것입니다.

  15. 게임 내 컨테이너 값을 표시하려면, Find 노드의 Return Value 를 Set Text 노드의 Value 핀에 연결합니다.

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

  16. 이제 Branch 노드의 False 핀을 끌어 놓고, Set Text(TextRender) 노드를 검색 추가 후 연결합니다.

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

    이 로직 브랜치는 컨테이너에 유효한 키-값 짝이 없으면, 다른 것을 표시하도록 합니다.

  17. Branch 노드의 Value 핀을 끌어 놓고, ToText(string) 노드를 검색 추가 후 연결합니다.

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

  18. 이제 읽어올 스트링을 정의합니다: Now, shoot the blocks!.

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

  19. 완성된 스크립트를 살펴본 후, 컴파일 버튼을 누르고서 에디터의 뷰포트 인터페이스로 돌아갑니다.

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

  20. 에디터의 뷰포트 인터페이스에서 플레이 버튼을 클릭하여 새로 구현한 스크립트 작동을 확인합니다.

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

최종 결과

이제 새 블루프린트 맵을 정의했고, 컨테이너를 키-값 짝으로 채웠고, TextRender Actor 의 블루프린트 이벤트 그래프에 만든 기본적인 로직으로 값을 표시했습니다. 약간 더 고급 작업 방법을 배우려면, 다음 단계에서 맵에 키-값 짝을 추가하는 법, 이어서 맵의 값을 표시하는 법을 살펴봅시다.

Tags
Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback