매크로 만들기

플레이어의 에너지가 점프하기에 충분한지 검사하는 매크로입니다.

Macro 매크로는 본질적으로 노드들이 접힌 그래프와 같습니다. 터널 노드로 지정된 입구와 출구가 있습니다. 각 터널은 실행 또는 데이터 핀을 몇 개든 가질 수 있으며, 이는 다른 블루프린트와 그래프에서 사용되는 매크로 노드에서 확인할 수 있습니다.

매크로 만들기

이 예제에서는 플레이어가 점프하기에 충분한 에너지를 가졌는지 아닌지 검사하는 데 사용되는 매크로 를 만들어 보겠습니다. 점프하기에 충분한 에너지가 있으면, 플레이어의 에너지를 조금 감소시킨 다음 현재 값을 화면에 출력시키고 점프를 허용합니다. 에너지가 충분치 않으면 에너지가 없다고 화면에 출력한 다음, 점프를 허용하지 않습니다.

이 예제에서는 시작용 콘텐츠 포함블루프린트 삼인칭 프로젝트 를 사용합니다.

  1. Content/ThirdPersonBP/Blueprints 폴더에서 ThirdPersonCharacter 블루프린트를 엽니다.

  2. 내 블루프린트 창에서 매크로 추가 버튼을 누릅니다.

    MacroHT1.png

  3. 새 매크로가 생성되면 선택한 다음 F2 키를 눌러 이름을 EnergyCheck 로 변경해 줍니다.

    MacroHT2.png

  4. 매크로를 선택한 채 디테일 패널에서 추가 버튼을 눌러 입력 하나, 출력 두 개를 만듭니다.

    MacroHT3.png

    그러면 매크로 노드 자체에 입력/출력 노드가 생성되어, 매크로와 데이터를 주고받는 데 사용할 수 있습니다.

  5. 입력 은 글상자에 이름을 BeginCheck 라 입력하고 유형을 실행 (실행 핀)이라 설정합니다.

  6. 출력 은 둘 다 실행 유형으로 만들고 이름은 하나는 HasEnergy, 나머지는 NoEnergy 라 합니다.

    MacroHT4.png

    입력의 경우, BeginCheck 라는 실행 핀을 사용하여 매크로를 시작합니다. 플레이어의 에너지가 충분한지 검사(해서 그렇다면 HasEnergy 핀에 연결)하는 스크립트를 만들겠습니다. 에너지가 충분치 않다면, NoEnergy 핀에 연결합니다. 그 매크로 구현 후 HasEnergy 핀은 Jump 명령에 물려주는 반면, NoEnergy 핀은 놔둡니다.

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

    AddVariableButton.png

  8. 변수 이름을 Energy 라 하고 Float 유형으로 변경한 다음, 툴바의 컴파일 을 클릭하고 값을 100 으로 설정합니다.

    MacroHT5.png

    플레이어의 에너지 변수가 생겼으며, 100 으로 초기화되었습니다.

  9. 그래프에서 입력 옆에 B 키를 누른 채 좌클릭 하여 Branch (분기) 노드를 만듭니다.

  10. Ctrl 키를 누른 채 내 블루프린트 창의 Energy 를 클릭하여 그래프에 놓은 다음 > 노드에 연결하고 Branch (분기)에 연결합니다.

    MacroHT6.png

    여기서는 분기를 사용하여 Energy 가 0 보다 크면 True 가 실행되고, 아니면 False 가 실행됩니다.

  11. Alt 키를 누르고 Energy 변수를 끌어놓아 Set 노드를 추가합니다.

  12. Ctrl 키를 누르고 Energy 를 다시 끌어 놓은 다음 - 노드에 연결하고, 10 로 설정한 다음 Set 노드에 꽂습니다.

    MacroHT7.png

    이 스크립트는 에너지가 0 보다 크면, 현재 에너지 값에서 10 을 빼라고 하는 것입니다.

  13. 그래프에 우클릭 하고 Print String 노드를 추가한 뒤, EnergyIn String 핀에 연결합니다.

    MacroHT8.png

    Conversion 변환 노드가 추가되어 Energy 값을 화면에 출력되는 String 으로 변하여 그 값을 표시해 줍니다.

  14. 분기False 핀에서 Print String 노드를 추가한 다음 칸에 Out of Energy! 라 입력합니다.

  15. Print String 노드를 HasEnergyNoEnergy 핀에 연결합니다.

    MacroHT9.png

    이제 매크로 구성이 완료되었습니다. Energy 변수를 검사해서 (가능하면 빼기를 한 다음) 플레이어의 에너지가 충분한지 아닌지 출력하고, 플레이어가 점프할 수 있는지 없는지 결정합니다. 이제 Jump 실행 전 "Jump" 키가 눌린 이후의 매크로를 구현해 줘야 합니다.

  16. 이벤트 그래프 에서 InputAction Jump 노드의 Pressed 핀을 끌어놓은 다음 EnergyCheck 을 검색합니다.

    MacroHT10.png

    앞서 만든 매크로가 Utilities 아래 나열되어 그 이름 옆에 매크로 아이콘이 있는 것이 보일 것입니다.

  17. 매크로가 추가되면, Jump 스크립트는 아래와 비슷해 보일 것입니다.

    MacroHT11.png

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

  19. 메인 툴바의 플레이 버튼을 눌러 에디터에서 플레이합니다.

    이제 스페이스바 를 누르면 점프하고, 화면 좌상단 구석에 Energy 값이 출력되는 것이 보일 것입니다. Energy 가 0 이면 더이상 점프할 수 없습니다.

    지금까지 스크립트를 하나의 노드로 통합시켜 실행하는 기본적인 매크로 사용법 예제로, 이벤트 그래프와 메인 캐릭터 스크립트의 가독성을 향상시켜 줍니다. 추가적으로 다른 인스턴스에서도 이 매크로를 호출할 수 있습니다. 이를테면 플레이어의 에너지가 필요한 다른 동작, 공격 동작이 있다고 칩시다. 공격하기 전 에너지가 충분한지 검사가 필요하겠지요. 공격 키를 누르면 플레이어의 에너지가 충분한지 이 매크로를 실행시켜 검사한 다음, HasEnergy 실행 핀에서 공격을 실행시키면 되겠습니다.

태그
언리얼 엔진의 이전 버전을 위해 작성된 페이지입니다. 현재 언리얼 엔진 5.0 버전을 위해 업데이트되지 않았습니다.
언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
취소