UnrealEngine4のタイムラインの使い方まとめ
アニメーションや移動処理をさせるのに便利なタイムラインの使い方をまとめたいと思います。
タイムラインの作成方法
タイムラインを作成するには、レベルなどの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を作成することができます。
作成手順をまとめると以下画像のようになります。
作成したタイムラインに名前をつける
作成したタイムラインの左上にdefaultの名前である新規Track1と書かれています。
名前を変更するには、名前を右クリック → 名前を変更を選択します。
作成したタイムライントラックを実行する
ここでは例として、1秒経過すると、0から1まで直線的に増加するタイムライントラックを作成しました。
このトラックを利用することで、Objectを1秒間でA地点からB地点まで移動させる処理などを簡単に書くことができます。
その手順を解説したいと思います。
作成したタイムトラックを使って1秒間にA地点からB地点まで移動させる処理を作る
トラックを作ることで、以下のようにトラックの出力結果がノートに追加されます。
トラックを利用するには、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地点まで移動させる処理を作成する手順をまとめました。
ここでは、タイムラインをそのオブジェクト内で作成しているとします。
Directionプラグを使用して、タイムラインの再生・逆再生を繰り返し行う方法
A地点B地点を往復移動させたい場合は、Directionプラグを使用します。
Finishプラグが呼ばれた時に、再生・逆再生どちらが呼ばれているかを判定し、
再生ならば逆再生・逆再生ならば再生ノードを呼ぶことにより、永続的に再生・逆再生を繰り返します。
つまりオブジェクトの行き来が可能になります。
例として以下のようにBlueprintを組むことで再生逆再生が可能になります。
曲線的なトラックを作成する
先ほどは直線のフロートトラックを作成しましたが、
今度は曲線的に変化するフロートトラックを作成する方法を書きます。
フロートトラックを作成する手順は先ほどと同じになります。
基準点の属性を変更する
作成した基準点を選択し、右クリックを押すとキー補完などの項目が表示され、
defaultだとLinearになっています。
直線を曲線にするには、2つの点のキー補完をBrakeにします。
Brakeにすると、2直線が出現するので、下図のように
画像作成ツールでvectorで作成する線を曲げる時と同じ要領で各々を線を曲げたい方向に移動させることで、曲線を作ることができます。
UnrealEngine4.21で確認しています。
初版:2019/9/22
最終更新:2019/9/22