%Description%
カーブは、ベクター (vector)、浮動小数点 (floats)、カラー (colors) です。各トラックには、時間と値を定義する キー をいくつでも持つことが出来ます。データは、これらのキーの間を補間して、タイムライン間のいずれかの時点の値を計算することができます。
キーとカーブを使用する
この例では、一定範囲を評価するために補間された浮動小数点のカーブを定義する Curve Float を作成します。
-
エディタで、Timeline Component を含む新しい Actor ブループリントを作成します。
-
Timeline Component をクリックして Timeline Editor を開きます。
-
[Add Float Track (Float トラックを追加)] ボタンをクリックして、CurveFloat を Timeline Component に追加します。
キーを追加する
キーを追加するには、Shift キーを押しながらグレーのバーをクリックする、またはグレーのバーを右クリックしてドロップダウン メニューからアクション [Add Key To CurveFloat] を選択します。
キーの編集
キーの時間と値を設定するには、キーをクリックし、トラック上部付近のフィールドにそれぞれの値を入力します。
キーを削除する
選択したキーは、キーボードの [Delete] キーで削除できます。
キーを移動させる
タイムラインに沿ってキーを移動させるには、キーを選択、クリック、そしてドラッグします。Ctrl キーを使用すると、一度に複数のキーを選択できます。水平にドラッグするとキーの Time 値が更新され、垂直にドラッグすると Value が更新されます。
キーの補間
キーを右クリックすると、そのキーの補間タイプを選択するためのドロップダウン メニューが表示されます。
キーの補間は、ユーザーが補間したキーとその次のキーの間のカーブにのみ影響を及ぼします。たとえば、他のすべてのキーを Linear に設定した状態で、そのセンターのキー (オレンジで表示) を Cubic-Auto に設定すると、次の画像のようになります。
以下は利用可能な補間タイプです。
-
Auto
-
User
-
Break
-
Linear
-
Constant
外部のカーブ
メイン キー エリアの左側のフィールドに、コンテンツ ブラウザ から外部のカーブアセットをそのトラックに追加することができます。
| 外部カーブ アイコン | 説明 |
|---|---|
| このトラックに対して コンテンツ ブラウザ で選択したカーブを使用します。 | |
| このトラックに対するカーブを選択するには コンテンツ ブラウザ をブラウズします。 | |
| インポートした外部カーブを内部カーブに変換し、キーとカーブを編集できるようにします。 |
ただし、任意のカーブ上で (少なくとも 1 つのキーを選択した状態で) 右クリック して Create External Curve を選択することもできます。その結果、コンテキスト ウィンドウが表示され、そこでカーブアセットを保存するパスを編集できます。こうすることで、他のタイムラインでこのカーブを使用できます。

カーブ (UCurveBase) は一定範囲を評価するために補間ポイントのカーブを定義します。カーブは、ベクター (vector)、浮動小数点 (floats)、カラー (colors) です。各トラックには、時間と値を定義する キー をいくつでも持つことが出来ます。データは、これらのキーの間を補間して、タイムライン間のいずれかの時点の値を計算することができます。
キーとカーブを使用する
この例では、一定範囲を評価するために補間された浮動小数点のカーブを定義する UCurveFloat を作成します。
以下の手順に従って UCurveFloat を作成し、Timeline Component にインスタンス化します。
- UTimelineComponent を含む Actor クラスを作成します。
// Copyright 1998-2021 Epic Games, Inc.All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "Components/TimelineComponent.h" #include "MyActor.generated.h" UCLASS() class UTIMELINEKEYSCURVESEXAMPLE_API AMyActor : public AActor { GENERATED_BODY() public: // Sets default values for this actor's properties AMyActor(); protected: // Called when the game starts or when spawned virtual void BeginPlay() override; UPROPERTY(EditAnywhere, BlueprintReadWrite) UTimelineComponent* ExampleTimelineComp; public: // Called every frame virtual void Tick(float DeltaTime) override; };UTimelineComponentの作成方法の詳細については、「Timeline ノードの作成」を参照してください。 - 「
TimelineActor.h」ファイルのクラス定義から、以下を宣言します。public: UPROPERTY(EditAnywhere) UCurveFloat* ExampleTimelineCurve; -
**Unreal Editor でコードを コンパイル します。
-
コンテンツ ブラウザ から、[Add/Import]> [Miscellaneous] > [Curve]> [CurveFloat] を選択し、CurveFloat アセットに「ExampleFloatTrack」と名前を付けます。
-
UTimelineComponentを含むアクタから派生させて Blueprint クラスを作成します。 -
クラス デフォルトを開き、ExampleFloat Track で Example Timeline Curve を割り当てます。
- コンテンツ ブラウザで Example Float Track をダブルクリックして Timeline Editor を開きます。
キーを追加する
キーを追加するには、Shift キーを押しながらグレーのバーをクリックする、またはグレーのバーを右クリックしてドロップダウン メニューからアクション [Add Key To CurveFloat] を選択します。
キーの編集
キーの時間と値を設定するには、キーをクリックし、トラック上部付近のフィールドにそれぞれの値を入力します。
キーを削除する
選択したキーは、キーボードの [Delete] キーで削除できます。
キーを移動させる
タイムラインに沿ってキーを移動させるには、キーを選択、クリック、そしてドラッグします。Ctrl キーを使用すると、一度に複数のキーを選択できます。水平にドラッグするとキーの Time 値が更新され、垂直にドラッグすると Value が更新されます。
キーの補間
キーを右クリックすると、そのキーの補間タイプを選択するためのドロップダウン メニューが表示されます。
キーの補間は、ユーザーが補間したキーとその次のキーの間のカーブにのみ影響を及ぼします。たとえば、他のすべてのキーを Linear に設定した状態で、そのセンターのキー (オレンジで表示) を Cubic-Auto に設定すると、次の画像のようになります。
以下は利用可能な補間タイプです。
-
Auto
-
User
-
Break
-
Linear
-
Constant
外部のカーブ
メイン キー エリアの左側のフィールドに、コンテンツ ブラウザ から外部のカーブアセットをそのトラックに追加することができます。
| 外部カーブ アイコン | 説明 |
|---|---|
| このトラックに対して コンテンツ ブラウザ で選択したカーブを使用します。 | |
| このトラックに対するカーブを選択するには コンテンツ ブラウザ をブラウズします。 | |
| インポートした外部カーブを内部カーブに変換し、キーとカーブを編集できるようにします。 |
ただし、任意のカーブ上で (少なくとも 1 つのキーを選択した状態で) 右クリック して Create External Curve を選択することもできます。その結果、コンテキスト ウィンドウが表示され、そこでカーブアセットを保存するパスを編集できます。こうすることで、他のタイムラインでこのカーブを使用できます。
// Copyright 1998-2021 Epic Games, Inc.All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "Components/TimelineComponent.h"
#include "MyActor.generated.h"
UCLASS()
class UTIMELINEKEYSCURVESEXAMPLE_API AMyActor : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
AMyActor();
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
UTimelineComponent* ExampleTimelineComp;
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
};
UTimelineComponent の作成方法の詳細については、「Timeline ノードの作成」を参照してください。
public:
UPROPERTY(EditAnywhere)
UCurveFloat* ExampleTimelineCurve;