시퀀서(Sequencer) 를 통해 시네마틱을 재생할 때, 일부 스크립트 함수 기능을 개시하는 이벤트 를 발동하고자 하는 경우가 있을 수 있습니다. 예를 들어, 시네마틱의 특정 시점에 문이 열리게 하거나 파티클 이펙트가 스폰되게 하여 어떤 식으로든 플레이어에 영향을 주고자 할 수 있습니다. 이벤트 트랙(Event Track) 을 사용하면 시네마틱에서 이벤트를 호출하려는 정확한 프레임에 키를 설정할 수 있습니다.
블루프린트에 액세스하지 않고도 시퀀서 트랙을 통해 이벤트를 추가할 수 있습니다. 오브젝트에 여러 개의 이벤트를 추가할 수도 있고, 하나의 이벤트에 여러 개의 오브젝트 바인딩을 추가할 수도 있습니다. 블루프린트를 연다면, 하나의 이벤트에 여러 개의 파라미터를 추가할 수도 있습니다. 자세한 내용은 이벤트 트랙 개요를 참조하세요.
이 가이드에서는 여러 이벤트 트랙을 사용하여 캐릭터가 죽었다는 텍스트를 화면에 출력합니다. 동시에, 플레이어 무브먼트를 비활성화하고 캐릭터에 피직스 시뮬레이션합니다.
이 가이드에서는 블루프린트 삼인칭 템플릿(Blueprint Third Person Template) 프로젝트를 사용합니다.
캐릭터 설정하기
먼저 삼인칭 캐릭터를 설정해야 합니다.
-
메인 툴바에서 시네마틱(Cinematics) 버튼을 클릭하고 원하는 이름과 저장 위치로 레벨 시퀀스 추가(Add Level Sequence) 를 선택합니다.
-
선택한 레벨 시퀀스의 디테일(Details) 패널에서 자동 재생(Auto Play) 옵션을 활성화합니다.
-
레벨에서 ThirdPersonCharacter 를 선택한 다음, + 트랙(+ Track) 버튼으로 시퀀서에 추가합니다.
-
레벨에서 ThirdPersonCharacter 를 우클릭한 다음, ThirdPersonCharacter 편집(Edit ThirdPersonCharacter) 을 선택합니다.
-
이벤트 그래프(Event Graph) 를 우클릭하고 Custom Event 를 검색한 다음 추가합니다.
-
커스텀 이벤트 이름은 KillPlayerText 라 하고 커스텀 텍스트가 스트링으로 있는 Print String 노드에 연결합니다.
-
KillPlayerText 노드를 선택하고 디테일 패널에서 입력(Inputs) 으로 이동합니다. +파라미터 추가(+Add Parameter) 를 선택하여 노드에 새 파라미터를 추가합니다.
-
드롭다운 메뉴에서 스트링(String) 파라미터를 선택하고 파라미터 이름을 In String 으로 업데이트합니다. 그런 다음, 커스텀 이벤트의 In String 입력을 Print String에 연결합니다.
이벤트 트랙 추가하기
캐릭터가 설정되면 이벤트를 추가하여 캐릭터가 비활성화되고 캐릭터 블루프린트에서 텍스트를 인쇄하도록 할 수 있습니다.
-
시퀀서 에서 ThirdPersonCharacter 의 + 트랙 버튼을 클릭하고 이벤트 를 선택합니다.
-
타임라인을 149 프레임으로 이동한 다음, 이벤트 트랙에 키를 추가합니다.
-
새 키프레임에서 우클릭하고 프로퍼티(Properties) 아래 언바운드(Unbound) 드롭다운을 선택하여 퀵 바인딩 생성(Create a Quick Binding) 을 추가합니다.
-
퀵 바인드(Quick Bind)에서 Set All Bodies to Simulate Physics 를 검색합니다. 페이로드(Payload) 아래의 새 시뮬레이션(New Simulate) 을 체크해야 합니다.
-
두 번째 이벤트 트랙을 추가하고 무브먼트 비활성화(Disable Movement) 를 위한 퀵 바인드를 추가합니다.
-
세 번째 이벤트 트랙을 추가하고 앞서 설정한 Kill Player Text 를 호출하기 위한 퀵 바인드를 추가합니다. 페이로드 아래의 In String 텍스트 박스에 GAME OVER! 를 입력합니다.
-
스트링 키를 타임라인에서 다른 세 곳의 위치에 ALT+드래그 합니다. 첫 번째 키의 스트링 텍스트를 3, 두 번째 키는 2, 세 번째 키는 1 로 업데이트합니다.
기본적으로 GAME OVER 스트링 텍스트를 카운트다운하는 것입니다.
-
임의의 키의 이벤트 프로퍼티(Event Properties) 에서 돋보기 아이콘을 더블클릭하여 시퀀스 디렉터 블루프린트(Sequence Director Blueprint) 를 엽니다.
이벤트 키를 더블클릭하거나 일반 옵션(General Options) > 디렉터 블루프린트 열기(Open Director Blueprint) 를 클릭하여 블루프린트를 열 수도 있습니다.
-
SetCollisionEnabled 노드를 Set All Bodies Simulate Physics 에 추가하고 타입을 콜리전 활성화됨(Collision Enabled) 으로 설정합니다. Target 핀을 Mesh 핀에 연결합니다.
이렇게 설정하면 캐릭터가 오브젝트를 통과하여 떨어지지 않고 오브젝트와 충돌합니다. 이벤트를 생성하기 위해 블루프린트에 액세스할 필요는 없지만, 이 경우처럼 이벤트에 추가하기 위해서는 블루프린트에 액세스해야 합니다.
-
플레이(Play) 를 누르면 150초까지 뷰포트에서 돌아다닐 수 있으며, 150초가 되면 캐릭터가 죽고 뷰포트 왼쪽 상단에 텍스트가 인쇄됩니다.
마우스 컨트롤(Mouse Control) 라벨이 왼쪽 상단 구석에 표시되면, 텍스트가 잘 보이지 않을 것입니다. 이 라벨을 끄려면 에디터 개인설정(Editor Preferences) > 레벨 에디터(Level Editor) > 플레이(Play) 로 이동한 다음, 마우스 컨트롤 라벨 표시(Show Mouse Control Label) 체크를 해제하면 됩니다.
최종 결과
에디터에서 플레이하면 잠시 후, 창 왼쪽 상단 구석에 텍스트가 나타나며 이동 기능이 비활성화되면서 캐릭터가 바닥에 쓰러집니다.
시퀀서 안에서 오브젝트에 이벤트 트랙을 추가하면 생성되는 오브젝트 바인딩에서 이벤트나 함수를 호출하거나 바인딩된 오브젝트의 프로퍼티에 액세스할 수 있습니다. 또한 이벤트 트랙을 사용하여 레벨 블루프린트 및 UI 위젯 블루프린트 안에서 스크립트를 실행하거나, 블루프린트 인터페이스를 통해 여러 블루프린트와 통신할 수도 있습니다.