시퀀서를 통한 이벤트 호출

시퀀서의 이벤트 트랙을 사용하여 블루프린트에서 이벤트를 발동하는 법 예제입니다.

Windows
MacOS
Linux

시퀀서를 통해 시네마틱을 재생할 때, 스크립트 기능을 개시하는 이벤트 를 발동하고픈 경우가 있습니다. 시네마틱 특정 시점에 문을 열거나, 파티클 이펙트를 스폰하고 플레이하거나 어떤 식으로든 플레이어에 영향을 주는 것입니다. Event Track (이벤트 트랙)에서 이벤트를 호출하려는 시네마틱의 정확한 프레임에 키를 설정합니다. 그런 다음 Director (디렉터) 클래스 블루프린트에서 Event Endpoint (이벤트 엔드포인트)를 사용하여 발생시키고자 하는 스크립트 기능을 제공합니다.

여기서는 이벤트 트랙을 사용하여 캐릭터가 죽었다는 텍스트를 화면에 출력하도록 하겠습니다. 동시에 플레이어 이동을 비활성화하고 캐릭터에 물리 시뮬레이션을 적용합니다.

단계

여기서는 블루프린트 삼인칭 템플릿 프로젝트를 사용합니다.

  1. 메인 툴바의 시네마틱 버튼을 클릭한 뒤 레벨 시퀀스 추가 를 선택하고 이름과 저장 위치를 지정합니다.
    UsingEventTracks_01.png

  2. 레벨 시퀀스의 디테일 패널에서 Auto Play (자동 재생) 옵션을 활성화합니다.
    UsingEventTracks_02.png

  3. 레벨의 ThirdPersonCharacter 를 선택한 뒤 시퀀서의 + 트랙 버튼에서 추가합니다.
    NewEventTrack_03.png

  4. 레벨의 ThirdPersonCharacter 에 우클릭한 뒤 ThirdPersonCharacter 편집 을 선택합니다.
    NewEventTrack_04.png
    삼인칭 캐릭터 블루프린트 안에, 시퀀서에서 호출되는 커스텀 이벤트를 추가합니다.

  5. 이벤트 그래프 에 우클릭하고 Custom Event (커스텀 이벤트)를 검색하여 추가합니다.
    NewEventTrack_05.png

  6. 커스텀 이벤트 이름은 KillPlayerText 라 하고 Print String 노드에 Kill My Player! 텍스트를 String 으로 하여 연결합니다.
    NewEventTrack_06.png
    이 예제에서는 커스텀 이벤트가 호출되면 텍스트를 화면에 출력합니다. 원하는 스크립트 기능을 제공하고 커스텀 이벤트에 연결한 뒤 시퀀서에서 호출되었을 때 실행되도록 할 수도 있습니다.

  7. 시퀀서 에서 ThirdPersonCharacter 트랙에 + 트랙 버튼을 클릭하고 Event (이벤트)를 선택합니다.
    NewEventTrack_07.png

  8. 타임라인을 60 프레임으로 옮긴 뒤 이벤트 트랙의 + 부호를 클릭하여 이벤트 키를 추가합니다.
    NewEventTrack_08.png

  9. 새 키프레임에 우클릭한 다음 프로퍼티 아래 Unbound (언바운드)를 클릭하고 Create New Endpoint (새 엔드포인트 생성)을 선택합니다.
    NewEventTrack_09.png

    그러면 새로운 Director Class 블루프린트가 나타납니다.

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

    디렉터 블루프린트에서, 지정한 대상(들)에 대해 발생시킬 스크립트 기능을 지정할 수 있습니다. 또한 디렉터 블루프린트로 다른 블루프린트가 구현한 블루프린트 인터페이스 를 호출하도록 하면 호출을 받았을 때 차례로 호출되도록 할 수 있습니다.

    자세한 정보는 이벤트 트랙 개요 문서를 참고하세요.

  10. 내 블루프린트 패널에서 함수 이름을 PrintKillPlayer 로 변경하고 Target (타깃) 핀을 끌어놓은 뒤 Kill Player Text 라 합니다. NewEventTrack_10.png
    이 예제의 타깃은 ThirdPersonCharacter 블루프린트입니다. 또한 Target 유형을 변경하면 지정한 타깃 유형 관련 함수에 액세스할 수 있습니다.

  11. 시퀀서 에서 ThirdPersonCharacter 트랙에 대해 CharacterMesh0 를 추가합니다.
    NewEventTrack_11.png

  12. CharacterMesh0 에서 + 트랙 버튼을 눌러 이벤트 트랙을 추가합니다.
    NewEventTrack_12.png

  13. 이벤트 트랙에서 60 프레임에 키를 추가한 뒤, 우클릭하고 프로퍼티 > 퀵 바인딩 생성 아래 SetAllBodiesSimulatePhysics 를 선택합니다.
    NewEventTrack_13.png
    이 이벤트 트랙에 대한 오브젝트 바인딩은 스켈레탈 메시 컴포넌트이므로, 이제 스켈레탈 메시에 관련된 퀵 바인딩 에 액세스할 수 있습니다. 이 함수를 선택하면 Event Endpoint 로의 노드를 자동 추가하고 그래프를 엽니다.

  14. New Simulate 는 활성화 설정한 뒤, Set Collision Enabled 노드를 추가하고 Collision Enabled (Query and Physics)New Type 으로 설정합니다.
    NewEventTrack_14.png
    그러면 스켈레탈 메시에 물리 시뮬레이션이 시작되면서 콜리전이 활성화되어 바닥을 뚫고 떨어지지 않습니다.

  15. 시퀀서에서 ThirdPersonCharacter 에 대해 + 트랙 버튼을 클릭하고 CharMoveComp 트랙을 추가합니다. NewEventTrack_15.png

  16. CharMoveComp 에 대한 이벤트 트랙과 60 프레임 위치에 이벤트 트랙을 추가하고 Quick Binding 으로 DisableMovement 을 호출합니다. NewEventTrack_16.png
    여기서 타깃은 Character Movement Component 이며 이벤트를 사용하여 캐릭터의 물리 시뮬레이션 도중 이동 기능을 비활성화합니다.

  17. 플레이 버튼을 눌러 에디터에서 플레이합니다.

최종 결과

에디터에서 플레이하고 잠시 후, 창 왼쪽 상단 구석에 텍스트가 나타나며 캐릭터가 바닥에 떨어지고 이동 기능은 비활성화됩니다.

시퀀서 안에서 오브젝트에 이벤트 트랙을 추가하면 생성되는 오브젝트 바인딩에서 이벤트, 함수를 호출하거나 바인딩된 오브젝트의 프로퍼티에 액세스할 수 있습니다. 또한 이벤트 트랙은 레벨 블루프린트, UI 위젯 블루프린ㅌ 안에서 스크립트를 실행하거나, 블루프린트 인터페이스를 통한 다중 블루프린트 통신에도 사용할 수 있습니다.

자세한 정보는 이벤트 트랙 개요 문서를 참고하세요.

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

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

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

네이버 카페
공식 포럼