Choose your operating system:
Windows
macOS
Linux
実装方法を選んでください。
Blueprints
C++
タイムラインの作成
以下の手順に従って、Actor ブループリントに独自の Timeline Component を作成することができます。
コンテンツ ブラウザ を開いて、Add/Import > [Blueprint Class] の順に選択し、BP_TimelineActor という名前の Actor Blueprint を新規作成します。[Pick Parent Class] ダイアログが表示されます。
クラス デフォルトで、イベント グラフ を右クリックし、[Blueprint Context Menu] を表示して [Add Timeline (タイムラインを追加)] を選択します。
イベントグラフに新しい Timeline ノードが表示されます。
Blueprint クラスに Timeline が追加されると、[My Blueprint] タブのリストで確認することができます。
Timeline 変数
作成された Timeline は、[My Blueprint] タブで変数として利用できるようになっています。それにより Timeline コンポーネントに参照が提供されるので、Timeline ノードを利用しなければいけない時に特に便利です。これらのノードは、再生レートなどの Timeline の一定の機能へアクセスするために存在します。
このサンプルでは、 Get Timeline 0 変数を使って、そのタイムラインの現在の Play Rate 値をクエリします。
これらの様々なノードを使って、値をクエリし Timeline ノードの動作を制御することができます。利用可能な Timeline ノードおよびその機能の一覧は、「Timeline ノード」をご覧ください。
Timeline イベントを作成する
Timeline イベント (FOnTimelineEvent
) は、Timeline Component にイベントを処理する機能を提供します。以下の手順は、独自のイベントを追加する方法の例です。
BP_TimelineActor を開き、Begin play から execution pin を選択して引き出し、Timeline Component の Play 実行ピンにつなぎます。
次に、Finished 実行ピンを引き出し、文字列 "Timeline Finished" を付けて print string node を新規作成します。
コンパイル して 保存 し、PIE を押します。
デフォルトのタイムライン 長 である 5 秒後に、テキスト "Timeline Finished" がビューポートの左上隅に表示されます。
タイムラインの名前を変更する
ブループリントで複数のタイムラインを使用する場合は、それぞれのタイムラインに適切な名前を付けることが重要です。すべてのタイムラインはデフォルトでは、 "Timeline_n" の最後に連番が付いた名前になっています。タイムラインの名前変更は、[Graph] タブまたは [My Blueprint] タブ内でタイムラインを右クリックするか、[Rename (名前を変更)] を選択します。
タイムライン エディタを開く
タイムラインを作成しても、実行する何かを設定しない限り、役に立たない場合があります。タイムラインの編集に関する詳細は、「タイムラインの編集」を参照してください。
タイムラインを作成する
以下の手順に従って、Actor クラスに独自の Timeline Component を作成およびインスタンス化することができます。
「C++ Classes」フォルダへ移動し、コンテンツ ブラウザ ウィンドウ を右クリックします。ドロップダウン メニューから New C++ class を選択します。
Timeline Actor という名前のアクタを新規作成します。
「TimelineActor.h」ファイルへ移動します。以下の Timeline Component ライブラリをインクルードして機能を使用します。
include "Components/TimelineComponent.h
TimelineActor クラス定義内で以下のクラス宣言を実装します。
protected:
UPROPERTY(EditAnywhere, BlueprintReadWrite)
UTimelineComponent* ExampleTimelineComp;
このコード サンプルでは、プロパティ指定子、EditAnywhere、BlueprintReadWrite を使用します。
デフォルトのサブオブジェクト テンプレートを使って Timeline Component をインスタンス化し、以下のコードを TimelineActor コンストラクタ ATimelineActor::ATimelineActor: に追加します。
ExampleTimelineComp = CreateDefaultSubobject<UTimelineComponent>(TEXT("TimelineComponent"));
Unreal Editor から [Compile] を選択してコードを ホット リロード します。
C++ クラス フォルダで TimelineActor を右クリックし、TimelineActor クラスからブループリントを派生させ、Bp_TimelineActor と名前を付けます。

TimelineActor ブループリントが作成されると、Class Defaults を表示することができます。 [Components] タブで Example Timeline Component を確認することができます。
タイムライン変数
UProperty 指定子を使って C++ にタイムライン コンポーネントを作成すると、[Component] タブで変数として使用することができるようになります。デザイナーがブループリント スクリプティングを介して TimelineComponent へのイタレーションを継続したい場合、 これは便利な場合があります。
上の画像では、ネイティブ C++ タイムライン変数を使って、ブループリントで Timeline の Current Play Rate 値を取得します。
利用可能な Timeline ノード、およびその機能の一覧は、「Timeline ノード」を参照してください。
FTimeLineEvent を作成する
タイムライン イベント (FOnTimelineEvent
) は、Timeline Component にイベントを処理する機能を提供する デリゲート です。
以下の手順に従って、使用する Timeline Component の完成した機能に結合される FTimeLineEvent を作成します。
TimelineActor.h file
に移動し、class definition で以下のコードを宣言します。protected: //Delegate signature for the function which will handle our Finished event. FOnTimelineEvent TimelineFinishedEvent; UFUNCTION() void TimelineFinishedFunction();
次に、TimelineActor.cpp の
TimelineFinishedFunction
に以下のコードを実装します。UE_LOG(LogTemp, Warning, TEXT("Finished Event Called."));
void ATimelineActor::BeginPlay() メソッドに移動し、以下のコードを実装します。
Super::BeginPlay();
これで TimelineFinished Event をカスタムした TimelineFinished 関数に結合することができました。
最後に、エディタでコードをコンパイルし、Bp_TimelineActor のインスタンスをレベルにドラッグします。[Play In Editor (PIE)] を押します。
[Output Log] ウィンドウに以下のメッセージが表示されます。
