Timeline ノードの作成

このドキュメントは、ブループリントで **Timeline** ノードを作成する方法の概要です。

Choose your operating system:

Windows

macOS

Linux

実装方法を選んでください。

Blueprints

C++

タイムラインの作成

以下の手順に従って、Actor ブループリントに独自の Timeline Component を作成することができます。

  1. コンテンツ ブラウザ を開いて、Add/Import > [Blueprint Class] の順に選択し、BP_TimelineActor という名前の Actor Blueprint を新規作成します。[Pick Parent Class] ダイアログが表示されます。

    image alt text

  2. クラス デフォルトで、イベント グラフ を右クリックし、[Blueprint Context Menu] を表示して [Add Timeline (タイムラインを追加)] を選択します。

    image alt text

イベントグラフに新しい Timeline ノードが表示されます。

image alt text

Blueprint クラスに Timeline が追加されると、[My Blueprint] タブのリストで確認することができます。

image alt text

Timeline 変数

作成された Timeline は、[My Blueprint] タブで変数として利用できるようになっています。それにより Timeline コンポーネントに参照が提供されるので、Timeline ノードを利用しなければいけない時に特に便利です。これらのノードは、再生レートなどの Timeline の一定の機能へアクセスするために存在します。

image alt text

このサンプルでは、 Get Timeline 0 変数を使って、そのタイムラインの現在の Play Rate 値をクエリします。

image alt text

これらの様々なノードを使って、値をクエリし Timeline ノードの動作を制御することができます。利用可能な Timeline ノードおよびその機能の一覧は、「Timeline ノード」をご覧ください。

Timeline イベントを作成する

Timeline イベント (FOnTimelineEvent) は、Timeline Component にイベントを処理する機能を提供します。以下の手順は、独自のイベントを追加する方法の例です。

  1. BP_TimelineActor を開き、Begin play から execution pin を選択して引き出し、Timeline Component の Play 実行ピンにつなぎます。

    image alt text

  2. 次に、Finished 実行ピンを引き出し、文字列 "Timeline Finished" を付けて print string node を新規作成します。

  3. コンパイル して 保存 し、PIE を押します。

    image alt text

    デフォルトのタイムライン 長 である 5 秒後に、テキスト "Timeline Finished" がビューポートの左上隅に表示されます。

タイムラインの名前を変更する

ブループリントで複数のタイムラインを使用する場合は、それぞれのタイムラインに適切な名前を付けることが重要です。すべてのタイムラインはデフォルトでは、 "Timeline_n" の最後に連番が付いた名前になっています。タイムラインの名前変更は、[Graph] タブまたは [My Blueprint] タブ内でタイムラインを右クリックするか、[Rename (名前を変更)] を選択します。

image alt text

image alt text

タイムライン エディタを開く

タイムラインを作成しても、実行する何かを設定しない限り、役に立たない場合があります。タイムラインの編集に関する詳細は、「タイムラインの編集」を参照してください。

タイムラインを作成する

以下の手順に従って、Actor クラスに独自の Timeline Component を作成およびインスタンス化することができます。

  1. C++ Classes」フォルダへ移動し、コンテンツ ブラウザ ウィンドウ を右クリックします。ドロップダウン メニューから New C++ class を選択します。

  2. Timeline Actor という名前のアクタを新規作成します。

    ClassWizard.png

「TimelineActor.h」ファイルへ移動します。以下の Timeline Component ライブラリをインクルードして機能を使用します。

include "Components/TimelineComponent.h

TimelineActor クラス定義内で以下のクラス宣言を実装します。

protected:
    UPROPERTY(EditAnywhere, BlueprintReadWrite)
    UTimelineComponent* ExampleTimelineComp;

このコード サンプルでは、プロパティ指定子EditAnywhereBlueprintReadWrite を使用します。

  1. デフォルトのサブオブジェクト テンプレートを使って Timeline Component をインスタンス化し、以下のコードを TimelineActor コンストラクタ ATimelineActor::ATimelineActor: に追加します。

    ExampleTimelineComp = CreateDefaultSubobject<UTimelineComponent>(TEXT("TimelineComponent"));
  2. Unreal Editor から [Compile] を選択してコードを ホット リロード します。

    HotReloadCompile.png

C++ クラス フォルダで TimelineActor を右クリックし、TimelineActor クラスからブループリントを派生させ、Bp_TimelineActor と名前を付けます。

![](BpTimelineActor.png)

TimelineActor ブループリントが作成されると、Class Defaults を表示することができます。 [Components] タブで Example Timeline Component を確認することができます。

ClassDefaults.png

タイムライン変数

UProperty 指定子を使って C++ にタイムライン コンポーネントを作成すると、[Component] タブで変数として使用することができるようになります。デザイナーがブループリント スクリプティングを介して TimelineComponent へのイタレーションを継続したい場合、 これは便利な場合があります。

ExamplePlayRate.png

上の画像では、ネイティブ C++ タイムライン変数を使って、ブループリントで Timeline の Current Play Rate 値を取得します。

利用可能な Timeline ノード、およびその機能の一覧は、「Timeline ノード」を参照してください。

FTimeLineEvent を作成する

タイムライン イベント (FOnTimelineEvent) は、Timeline Component にイベントを処理する機能を提供する デリゲート です。 以下の手順に従って、使用する Timeline Component の完成した機能に結合される FTimeLineEvent を作成します。

  1. TimelineActor.h file に移動し、class definition で以下のコードを宣言します。

    protected:
        //Delegate signature for the function which will handle our Finished event.
        FOnTimelineEvent TimelineFinishedEvent;
    
    UFUNCTION()
    void TimelineFinishedFunction();
  2. 次に、TimelineActor.cppTimelineFinishedFunction に以下のコードを実装します。

    UE_LOG(LogTemp, Warning, TEXT("Finished Event Called."));
  3. void ATimelineActor::BeginPlay() メソッドに移動し、以下のコードを実装します。

    Super::BeginPlay();

    これで TimelineFinished Event をカスタムした TimelineFinished 関数に結合することができました。

  4. 最後に、エディタでコードをコンパイルし、Bp_TimelineActor のインスタンスをレベルにドラッグします。[Play In Editor (PIE)] を押します。

[Output Log] ウィンドウに以下のメッセージが表示されます。

![](OutputMessage.png)
Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル