Timeline node (타임라인 노드)는 블루프린트 내에서 간단한 시간 기반 애니메이션을 빠르게 디자인하고 게임내 이벤트에 따라 재생되도록 할 수 있는 특수 노드입니다. 단순한 값의 변동이나 시간에 걸쳐 서서히 이벤트가 발동되도록 할 수 있다는 점에서 간단한 마티네 시퀀스와 어느정도 비슷합니다. 그래프 탭이나 내 블루프린트 탭에서 타임라인에 더블클릭하는 것으로 블루프린트 에디터에서 바로 편집 가능합니다. 문 열기, 불 켜고 끄기, 기타 한 씬에서 액터에 시간 관련된 조작을 하는 등의 간단한 시네마틱 이외의 작업을 처리하기에 적합하도록 만들어 졌습니다.
입력과 출력

타임라인에는 다음과 같은 입력이 있습니다:
입력 핀
항목 | 설명 |
---|---|
Play | 타임라인 현재 시간에서 정방향 재생합니다. |
Play from Start | 타임라인 처음부터 정방향 재생합니다. |
Stop | 타임라인 현재 시간에서 재생을 멈춥니다. |
Reverse | 타임라인 현재 시간에서 역방향 재생합니다. |
Reverse from End | 타임라인 끝에서부터 역방향 재생합니다. |
Set New Time | 현재 시간을 New Time 입력에 설정된 값(이나 입력)으로 설정합니다. |
New Time | Set New Time 입력이 호출되었을 때 타임라인이 점프해 갈 수 있는 시간을 초 단위로 나타내는 float 값을 받는 데이터 핀입니다. |
출력 핀
항목 | 설명 |
---|---|
Update | 타임라인이 호출되자 마자 실행 신호를 출력합니다. |
Finished | 재생이 끝날 때 실행 신호를 출력합니다. Stop 함수로는 발동되지 않습니다. |
Direction | 타임라인 재생 방향을 나타내는 Enum 데이터를 출력합니다. |
타임라인에는 그 안에 생성된 트랙 유형을 반영하여 추가적인 출력 데이터 핀이 얼마든지 있을 수 있습니다. 여기에는 Float, Vector, Event 트랙이 포함됩니다.
개요(C++)
UTimelineComponent 가 일련의 이벤트, 플로트, 벡터 또는 색상 과 이에 연관된 키프레임 을 가집니다. 이러한 요소는 UActorComponent에서 상속됩니다.
자세한 내용은 액터 컴포넌트에 관한 개요를 참조하세요.
타임라인을 사용하면 시간 기반 애니메이션을 만들 수 있습니다. 이러한 애니메이션은 타임라인의 키프레임에서 트리거할 수 있는 이벤트에 따라 재생됩니다. 문 열기, 불 켜고 끄기, 씬에 속한 액터에 대한 시간 관련 조작 등 간단한 비시네마틱 작업을 처리하는 데 사용할 수 있습니다. 플로트, 벡터, 색상 등 타임라인의 키프레임 간에 보간되는 값을 제공한다는 점에서 레벨 시퀀스와 비슷합니다.
입력 및 출력
UTimelineComponent는 네이티브 코드에서 확장 가능한 안정적인 메서드를 사용합니다. 자세한 내용은 UTimelineComponent API 레퍼런스를 참조하세요. 엔진에서 타임라인 컴포넌트를 활용하는 방법의 예시를 보고 싶다면 아래 섹션에 있는 타임라인 예시 링크 중 하나를 확인해 보세요.
ExampleTimeline.h
/** 타임라인 재생을 시작합니다. */
UFUNCTION(BlueprintCallable, Category="Components|Timeline")
ENGINE_API void Play();
/** 타임라인 처음부터 재생을 시작합니다. */
UFUNCTION(BlueprintCallable, Category="Components|Timeline")
ENGINE_API void PlayFromStart();
/** 타임라인 역재생을 시작합니다. */
UFUNCTION(BlueprintCallable, Category="Components|Timeline")
ENGINE_API void Reverse();
/** 타임라인 끝에서부터 역재생을 시작합니다. */
UFUNCTION(BlueprintCallable, Category="Components|Timeline")
ENGINE_API void ReverseFromEnd();
/** 타임라인 재생을 멈춥니다. */
UFUNCTION(BlueprintCallable, Category="Components|Timeline")
ENGINE_API void Stop();
/** 새로운 재생 시간을 설정합니다. */
UFUNCTION(BlueprintCallable, Category="Components|Timeline")
ENGINE_API void SetNewTime(float NewTime);
/** 타임라인의 '이벤트'를 처리하는 함수 시그니처입니다. */
FOnTimelineEvent OnUpdate();
FOnTimeLineEvent OnFinished();
FOnTimeLineEvent ExampleTimelineEventTrack();
/** 각 플로트 보간이 일어나는 항목을 가지는 구조체입니다. */
FTimelineFloatTrack ExampleFloatTrack;
/** 각 벡터 보간이 일어나는 항목을 가지는 구조체입니다. */
FTimelineVectorTrack ExampleVectorTrack;
/** 타임라인이 재생되는 방향을 가리키는 열거형 데이터입니다. */
ETimelineDirection Direction;