이벤트 디스패처

한 블루프린트에서 호출된 이벤트가 다른 블루프린트의 이벤트를 실행시키는 법에 대한 예제입니다.

Windows
MacOS
Linux

Event Dispatcher (이벤트 디스패처)가 호출되면, 그 이벤트 디스패처를 구현한 블루프린트 내 바인딩된 이벤트 역시도 같이 실행됩니다. 다른 말로 이벤트 디스패처가 호출될 때마다, 거기에 바인딩된 이벤트 역시 호출되어 하나의 소스로 다수의 이벤트를 한꺼번에 실행시킬 수 있다는 뜻입니다.

여기서는 이벤트 디스패처 구성 및 이벤트 디스패처에 이벤트를 바인딩하는 법을 보여드리겠습니다.

이 예제에서는 플레이어가 키를 누르면 덤불 안에 화염 파티클 이펙트가 스폰되도록 하겠습니다.

이 가이드에서는 시작용 콘텐츠 포함블루프린트 삼인칭 템플릿을 사용하겠습니다.

  1. 콘텐츠 브라우저 에서 Content/ThirdPersonBP/Blueprints 폴더 아래 ThirdPersonCharacter 블루프린트를 엽니다.

    EventD_1.png

  2. 내 블루프린트 창 아래 Add Event Dispatcher (이벤트 디스패처 추가) 버튼을 클릭한 다음 이름을 StartFire 라 합니다.

    EventD_2.png

  3. 그래프 창에 우클릭 하고 F Key Event 를 추가합니다.

  4. StartFire 이벤트 디스패처를 끌어 그래프에 놓고 Call (호출)을 선택합니다.

    EventD_3.png

  5. F Key Event 를 Call StartFire 이벤트 디스패처에 연결합니다.

    EventD_4.png

    F 키가 눌릴 때마다, 이 이벤트 디스패처에 바인딩된 이벤트를 가진 블루프린트 역시 실행될 것입니다.

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

  7. 콘텐츠 브라우저 에서 Content/StarterContent/Props 아래 SM_Bush 를 끌어 레벨에 놓습니다.

    EventD_5.png

  8. 메인 툴바에서 블루프린트 버튼을 클릭한 뒤 레벨 블루프린트 열기 를 선택합니다.

    EventD_6.png

  9. 그래프 안에 우클릭 한 뒤 SM_Bush 에 대한 레퍼런스 생성 노드를 선택합니다.

    EventD_7.png

    레벨 안의 SM_Bush 에 대한 레퍼런스를 구하는 것입니다.

    위에 나열된 노드가 안보이나요? 레벨 안의 SM_Bush 를 선택한 다음 다시 해 보세요.

  10. 그래프에 우클릭 한 다음 Event Begin PlayGet Player Character 노드를 추가합니다.

  11. Get Player Character 노드를 끌어놓고 Cast To ThirdPersonCharacter (ThirdPersonCharacter 에 형변환) 노드를 검색 추가합니다.

    EventD_8.png

    그러면 ThirdPersonCharacter 블루프린트 안의 이벤트, 함수, 변수, 프로퍼티에 접근할 수 있게 됩니다.

    블루프린트 형변환 노드 관련 상세 정보는 블루프린트의 형변환 문서를 참고하세요.

  12. As Third Person Character 핀을 끌어놓고, Assign Start Fire 노드를 검색 추가합니다.

    EventD_9.png

    노드가 두 개 생기는데, Bind EventCustom Event 입니다. 캐릭터 블루프린트에서 이벤트 디스패처가 호출될 때마다, 이벤트를 바인딩해 뒀기 때문에, Custom Event 와 거기에 연결된 것이 실행됩니다. 이벤트 디스패처에 바인딩된 이벤트가 있는 블루프린트 역시도 실행됩니다.

  13. Custom Event 에서 Spawn Actor from Class 노드를 추가합니다 (ClassBlueprint_Effect_Fire 로 설정).

  14. SM_Bush 에서 Get Actor Transform 을 놓고, 액터 스폰 노드에 대한 Spawn Transform 으로 사용합니다.

    EventD_10.png

    노드를 전부 연결한 그래프 모습은 위와 같을 것입니다.

  15. 컴파일 후 레벨 블루프린트를 닫고, 플레이 를 클릭하여 에디터에서 플레이합니다.

    EventD_11.png

    F 키를 누르면, 화염 이펙트가 덤불 안에 스폰됩니다.

이벤트 디스패처 및 사용 예제 관련 상세 정보는, 아래 관련 토픽 부분을 참고하시기 바랍니다.

태그

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

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

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

네이버 카페
공식 포럼