UnrealEngine4のタイムラインの使い方まとめ

アニメーションや移動処理をさせるのに便利なタイムラインの使い方をまとめたいと思います。

タイムラインの作成方法

タイムラインを作成するには、レベルなどのblueprint内において、
右クリック → タイムラインを追加する
を選択します。

blueprintのタイムラインノードを作成する図

タイムラインの引数について

タイムラインを作成すると、以下のようなタイムラインノードが出来上がります。
これらの引数の効用についてまとめます。

タイムラインノード作成図

Play タイムラインをスタートする
PlayFromStart 0地点からタイムラインをスタートする
Stop タイムラインを途中で止める
Reverse タイムラインを逆再生する
Reverse From End タイムライン末端から逆再生する
Set New Time NewTime引数に入力した地点からタイムラインを開始する
New Time Set New Timeノードに対応する引数。floatで秒単位になります(1は1秒)
Update タイムラインがスタートしてからフレームごとにこのノードが呼ばれる
Finish タイムラインが終了すると呼ばれる
Direction ETimeLineDirection Enumが返却される。
Finish時にPlayならば、forwardがReverseならbackwardが返却される

タイムラインを編集する

作成したタイムラインノードをダブルクリックすると、タイムラインを編集することができます。

タイムラインを編集して、直線に変化するデータを作る

タイムラインを編集して、直線的に変化するデータを作成してみたいと思います。

フロートトラックを追加する

タイムライン編集画面の上部メニューのFと書かれたアイコンをクリックすると、
フロートトラックを追加することができます。

タイムラインの長さを決定する

長さを決定するには、長さと書かれた入力ボックスがあるので、そこに数値を入力します。
秒単位になっており、1なら1秒になります、0.5なら0.5秒の間に実行するトラックになります。

基準点を作成する

基準点を作成するには、
右クリック → Curve_float_xにキーを追加するを選択します。

基準点に秒数・値を代入する

作成した基準点に秒数・値を入力するには、
基準点をクリックすると、表示される
時間・値に数値を入力します。

基準点を2つ作ると、線形に点と点が繫れてtimeLineを作成することができます。
作成手順をまとめると以下画像のようになります。

timeLineでフロートトラックを利用し、線形のトラックを作成する図

作成したタイムラインに名前をつける

作成したタイムラインの左上にdefaultの名前である新規Track1と書かれています。
名前を変更するには、名前を右クリック → 名前を変更を選択します。

作成したタイムライントラックを実行する

ここでは例として、1秒経過すると、0から1まで直線的に増加するタイムライントラックを作成しました。

このトラックを利用することで、Objectを1秒間でA地点からB地点まで移動させる処理などを簡単に書くことができます。

その手順を解説したいと思います。

作成したタイムトラックを使って1秒間にA地点からB地点まで移動させる処理を作る

トラックを作ることで、以下のようにトラックの出力結果がノートに追加されます。

timeLineのトラックからlerp vectorノードを作成する図

トラックを利用するには、lerpというノードを利用します。

今回のように、A地点からB地点まで移動させたい場合は、lerp vectorノードを利用します。

A地点を(0,0,0)、B地点を(100,0,0)とすると、以下のようにlerp vectorノードを作成すると、1秒間の間に直線的に
A地点(0,0,0)からB地点(100,0,0)まで変化する値を作成することができます。

この変化するvector値をsetActorLocation関数のlocation引数に代入することで、
A地点(0,0,0)からB地点(100,0,0)まで直線的に移動させる処理を作ることができます。

タイムラインをスタートさせる

タイムラインをスタートさせるには、タイムラインのプレイプラグから引っ張ってカスタムイベントの追加ノードを作成し、
作成したカスタムノードにplayTimeLineなど任意の名前を入力します。

playTimeLineノードを呼ぶことにより、このタイムラインをスタートすることができます。

作成したタイムトラックを使って1秒間にA地点からB地点まで移動させる処理の流れをまとめる

Gifでオブジェクトを1秒間にA地点からB地点まで移動させる処理を作成する手順をまとめました。
ここでは、タイムラインをそのオブジェクト内で作成しているとします。

timeLineを作成して、A地点からB地点まで移動させる図

Directionプラグを使用して、タイムラインの再生・逆再生を繰り返し行う方法

A地点B地点を往復移動させたい場合は、Directionプラグを使用します。

Finishプラグが呼ばれた時に、再生・逆再生どちらが呼ばれているかを判定し、
再生ならば逆再生・逆再生ならば再生ノードを呼ぶことにより、永続的に再生・逆再生を繰り返します。

つまりオブジェクトの行き来が可能になります。

例として以下のようにBlueprintを組むことで再生逆再生が可能になります。

Directionプラグを利用した、再生・逆再生を行うtimeLineのbluerprint図

曲線的なトラックを作成する

先ほどは直線のフロートトラックを作成しましたが、
今度は曲線的に変化するフロートトラックを作成する方法を書きます。

フロートトラックを作成する手順は先ほどと同じになります。

基準点の属性を変更する

作成した基準点を選択し、右クリックを押すとキー補完などの項目が表示され、
defaultだとLinearになっています。

キーをダブルクリックした時に表示されるオプション図

直線を曲線にするには、2つの点のキー補完をBrakeにします。

Brakeにすると、2直線が出現するので、下図のように
画像作成ツールでvectorで作成する線を曲げる時と同じ要領で各々を線を曲げたい方向に移動させることで、曲線を作ることができます。

キー補完を利用して、曲線のトラックを作成する動画

UnrealEngine4.21で確認しています。

初版:2019/9/22
最終更新:2019/9/22

このエントリーをはてなブックマークに追加