커스텀 이벤트

그래프 안에서 발동시킬 수 있는 사용자 제작 커스텀 이벤트입니다.

Windows
MacOS
Linux

Custom Event 는 표준 Event 와 비슷하나, 사용자가 생성하고 EventGraph 안에서 발동시킬 수 있다는 점이 다릅니다. 개별 네트워크의 실행 도입점을 정의할 뿐, 코드에서의 호출에 따라 실행되지는 않습니다. 그 대신, 콘솔 명령 CEKE, 또는 Remote Event 호출 등 EventGraph 다른 부분에 의존하여 명시적으로 실행됩니다.

커스텀 이벤트

Custom Event (커스텀 이벤트)를 통해 블루프린트 시퀀스 내 어디서나 호출할 수 있는 자신만의 이벤트를 만들 수 있습니다. 한 특정 노드의 입력 실행핀에 다수의 출력 실행 선을 연결하고자 하는 경우, 커스텀 이벤트 가 그래프의 망을 단순화시켜 줍니다. 심지어 블루프린트 그래프 중 하나에 커스텀 이벤트 를 구성한 다음 다른 그래프에서 호출하는 것도 가능합니다.

그 작업방식은 꽤나 간단합니다:

  • Custom Event 를 만들어 이름을 짓습니다.

  • 이벤트에 있어야 할 입력 파라미터를, 기본값과 함께 구성합니다.

  • 커스텀 이벤트를 호출하는 특수 함수 노드를 만듭니다.

  • 필요한 입력 파라미터가 있으면 물려줍니다.

커스텀 이벤트 생성하기

  1. 컨텍스트 메뉴에서 우클릭한 후 커스텀 이벤트 추가... 를 선택하여 Custom Event 노드를 만듭니다.

    add_custom_event.png

  2. 이벤트에 새 이름을 지어주구요.

    name_custom_event.png

  3. 새 이벤트에 대한 디테일 패널에서는, 이벤트가 서버상에서 호출되었을 때 모든 클라이언트에 리플리케이트 시킬지를 설정하거나 입력 파라미터를 추가할 수 있습니다.

    new_details_custom_event.png

입력 파라미터를 추가하려면:

  1. 디테일 패널의 Inputs (입력) 섹션에서 버튼을 클릭합니다.

    new_input_custom_event.png

  2. 새 입력에 이름을 짓고 드롭다운 메뉴를 사용해서 유형을 설정합니다. 이 예제에서는 MyStringParam 라는 이름의 String 입력 파라미터가 있습니다.

    named_new_variable.png

  3. 파라미터 항목을 펼쳐 기본값을 설정할 수도 있습니다.

    set_default_parameter.png

노드 끝에서의 이 파라미터에 대한 핀 위치를 변경하려면, 펼쳐진 디테일 패널 항목에 있는 위아래 화살표를 사용해 주시기 바랍니다.

이제 다른 이벤트 또는 실행 노드와 마찬가지로, 다른 노드를 커스텀 이벤트 의 출력 실행 핀에 붙일 수 있고, 그 커스텀 이벤트 가 트리거되면 그 망의 실행이 시작됩니다. 이 커스텀 이벤트 예제는 화면에 String 을 출력합니다.

small_custom_event.png

커스텀 이벤트 호출하기

커스텀 이벤트 와 거기에 연결된 망이 생성되었으나, 보통의 이벤트 와는 달리 커스텀 이벤트 발동을 위해 미리 설정된 조건은 없습니다. 커스텀 이벤트 호출을 위해서는, 우클릭 컨텍스트 메뉴에서 Call Function > [Custom Event Name] (함수 호출 > [커스텀 이벤트 이름]) 을 선택하면 됩니다.

call_ce_context_menu.png

call_custom_event_node.png

커스텀 이벤트 에 설정된 입력 파라미터는 커스텀 이벤트 에 전해줄 수 있도록 새 노드의 입력 데이터 핀으로 나타납니다. 필요한 대로 입력 데이터 핀을 다른 데이터 핀이나 변수에 데이터 선으로 연결해 줍니다.

이벤트 유형별로 그래프마다 한 번씩만 호출 가능한 보통의 이벤트 와는 달리, 커스텀 이벤트 는 그래프 전반에 걸쳐 몇 번이든 호출 가능합니다. 이런 식으로 커스텀 이벤트 는 선을 직접 연결해 줄 필요 없이 다수의 실행 출력을 하나의 실행 입력으로 분기시키는 것이 가능합니다.

connected_custom_event.png

이 예제에서 IsSuccess 부울 변수가 False 이면 에러 메시지가 출력됩니다. 이 그래프에는 Branch 노드 뒤 시퀀스에 Print String 노드를 연결한 것과 같은 함수가 들어 있습니다만, 그래프의 다른 섹션도 Print String 노드를 활용할 수 있는 함수성이 추가되었고, 두 망 섹션이 그래프 안에 서로 붙어있을 필요도 없습니다.

커스텀 이벤트 문제해결

커스텀 이벤트 노드 위에 [커스텀이벤트] 이름으로 된 함수를 찾을 수 없습니다." 라는 경고! 창이 뜨는 경우, 블루프린트컴파일 하면 됩니다.

custom_event_warning.png

커스텀 이벤트 의 입력 파라미터 갯수를 변경하면, 블루프린트 를 컴파일할 때 그 커스텀 이벤트 를 호출하는 모든 노드에 에러가 뜹니다.

parameter_change_error.png

커스텀 이벤트 를 호출하는 모든 노드를 새로고쳐 줘야 합니다. 개별 노드나 선택된 노드 그룹을 새로고치려면, 그 위에 우클릭한 다음 Refresh Nodes (노드 새로고침)을 선택하면 됩니다.

refresh_nodes.png

그래프에 있는 모든 노드를 새로고치려면, 파일 메뉴에서 Refresh All Nodes (모든 노드 새로고침) 하면 됩니다.

refresh_all_nodes.png

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

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

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

네이버 카페
공식 포럼