1. 필수 프로젝트 구성

여기서는 HUD 에 쓸 위젯 블루프린트를 만들고 HUD 에 정보를 전달할 캐릭터를 구성하도록 하겠습니다.

Windows
MacOS
Linux

더이상 필요하지 않은 페이지입니다.

이 튜토리얼에서는 시작용 콘텐츠 를 포함시킨 블루프린트 일인칭 템플릿을 사용합니다. 새 프로젝트 생성 및 템플릿 사용법을 잘 모르겠는 경우, Create a New Project 문서를 참고하시기 바랍니다.

  1. 콘텐츠 브라우저 에서 신규 추가 버튼을 누른 다음, 유저 인터페이스 아래 위젯 블루프린트 를 선택하고 이름을 HUD 라 짓습니다.

    UMGQS1.png

    모든 (HUD, 메뉴 등의) 유저 인터페이스 요소는 위젯 블루프린트 안에 생성 및 저장됩니다. 위젯 블루프린트를 통해 UI 요소의 시각적 배치는 물론 그 요소에 스크립트 함수성을 제공해 줄 수 있습니다. 플레이어 캐릭터가 월드에 스폰되면 표시되도록 하기 위해 생성은 하지만, 구성은 나중에 해 주도록 하겠습니다.

    위젯 블루프린트 관련 상세 정보는 위젯 블루프린트 문서를 참고하시기 바랍니다.

  2. 위젯 블루프린트 를 두 개 더 만들어, 이름을 MainMenuPauseMenu 라 합니다.

    AllWidgets.png

  3. 콘텐츠 브라우저우클릭 하고 레벨 을 새로 만들어 이름을 Main 이라 합니다.

    CreateLevel.png

    나중에 메인 메뉴 구성시 사용할 것입니다.

  4. 콘텐츠 브라우저 에서 Content/FirstPersonBP/Blueprints 폴더 아래 위치한 FirstPersonCharacter 블루프린트를 엽니다.

    UMGQS2.png

    이는 플레이가능 캐릭터의 블루프린트로, 여기서 몇 가지 정보를 만들어 HUD 위젯 블루프린트에 전달하여 표시하도록 합니다.

  5. 내 블루프린트 창에서, 변수 추가 버튼을 클릭합니다.

    UMGQS3.png

  6. 새 변수의 디테일 패널에서, 이름을 Health 라 짓고 유형을 Float 변수로 변경한 뒤 Default Value1.0 으로 설정합니다.

    UMGQS4.png

    이 변수는 HUD 에 표시할 플레이어 캐릭터의 생명력을 나타냅니다.

  7. Float 변수를 하나 더 만들어 Energy 라 하고 Default Value1.0 으로 설정합니다.

    UMGQS5.png

    이 변수는 HUD 에 표시할 플레이어 캐릭터의 에너지를 나타냅니다.

    Default Value 에 들어갈 수 없다면? 툴바의 컴파일 버튼을 클릭하여 블루프린트를 컴파일한 뒤 다시 해 보세요.

  8. Integer 유형 변수를 하나 더 만들어 Ammo 라 하고, Default Value25 라 합니다.

    UMGQS6.png

  9. Integer 변수를 하나 더 만들고 MaxAmmo 라 한 다음 Default Value25 로 설정합니다.

  10. 그래프 창에서 우클릭 한 다음 Event Begin Play 노드를 추가합니다.

  11. Event Begin play 를 끌어놓고 Create Widget 노드를 배치한 뒤 ClassHUD 위젯 블루프린트로 설정합니다.

    UMGQS7.png

  12. Create HUD_C WidgetReturn Value 를 끌어놓고 변수로 승격 한 다음 이름을 HUD Reference 라 합니다.

    UMGQS8.png

    그러면 게임 시작시 HUD 위젯 블루프린트를 생성하여 나중에 접근할 수 있는 변수로 저장합니다. 나중에 HUD 의 프로퍼티 설정이나 함수 호출시 유용한데, 예를 들면 게임 일시정지 도중에는 HUD 를 숨기고 싶다면 이 변수를 통해 HUD 에 접근하면 됩니다.

  13. Set 노드의 출력 핀을 끌어놓고 Add to Viewport 노드를 추가합니다.

    UMGQS9.png

    이름에서 알 수 있듯이, 지정된 위젯 블루프린트를 플레이어 뷰포트로의 타깃으로 추가하여 화면상에 그리도록 합니다.

캐릭터 변수 조정하기

실제로 HUD 생성 시작 전에 할 마지막 작업은 캐릭터 변수를 변경할 수 있는 방법을 마련하는 것입니다.

  1. FirstPersonCharacter 블루프린트 안에서 Alt 키를 누른 채 Energy 변수를 끌어 Jump 스크립트 옆에 놓습니다.

    Step2_1.png

  2. Ctrl 키를 누르고 Energy 변수의 사본을 배치한 다음 Float - Float 노드에 연결하고 0.25 로 설정한 뒤 아래와 같이 연결합니다.

    Step2_2.png

    캐릭터가 점프할 때마다 캐릭터의 현재 Energy 값에서 0.25 를 뺍니다.

  3. Health 변수에도 같은 스크립트를 구성해 주되, 테스트를 위해 F Key Event (또는 다른 키 눌림 이벤트)를 사용합니다.

    Step2_3.png

    그러면 키가 눌릴 때마다 HUD 를 통해 Health 변수가 제대로 표시되는지 테스트할 수 있습니다.

  4. Spawn Projectile 스크립트를 찾아 InputAction Fire 이벤트 다음에 우클릭 한 다음 Branch (분기) 노드를 추가합니다.

  5. Branch (분기)의 조건에는, Ctrl 키를 누르고 Ammo 변수를 놓은 다음 Integer > Integer 에 연결하고 0 으로 설정한 뒤 아래와 같이 연결합니다.

    Step2_4.png

    플레이어의 탄창이 0 보다 클 경우에만 탄환(projectile)을 발사할 수 있도록 합니다.

  6. Spawn Projectile 스크립트 끝부분 Play Sound at Location 다음에, AmmoAmmo - 1 로 설정합니다.

    Step2_5.png

    플레이어가 탄환을 발사할 때마다 Ammo 를 1 씩 빼며, 이것을 HUD 에 표시하면 됩니다.

  7. 블루프린트를 컴파일, 저장 후 닫습니다.

다음 단계에서는 HUD 에 Health, Energy, Ammo 변수를 표시하고 게임내에서 작동되도록 구성해 주겠습니다.

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