このチュートリアルでは、アニメーションの入門としてブループリントクラスをループアニメーションさせてみます。アニメーションする方法は様々ですが、Timelineノードを用いると時間軸に沿ったカーブで動きを制御できるので制御しやすく、Easeノードとの併用で加減速のモーションも容易に作成できます。
ブループリントの構築
球体を上下にアニメーションするブループリントを構成します。タイムラインのループ機能とEaseノードを組み合わせて、等速運動を加減速のある動きに変換しているのがポイントです。
- イベントグラフに切り替え
- タイムラインを追加し編集する
- 変数Offsetを利用してタイムラインの開始時間を変更
- Easeを使用して加減速する数値を生成
- 球体の位置を設定
(3)ではタイムラインの開始時間をずらしているのですが、タイムラインの全体の時間以上ずれないように余の計算をしてループ処理をしています。
タイムラインノードについて
タイムラインは時間に合わせて数値を出力するノードでアニメーションやタイミング制御などに活用できます。タイムラインノードをダブルクリックすると設定パネルが開きます。この作例では4秒でループする0から1への往復アニメーションを作成しています。
- タイムラインを開く
- Float型の変数を追加
- 全体の時間の長さを設定(作例では4秒)
- 「ループ」をONに設定
- Float型の変数名を「Rate」に変更
- キーを追加「0秒に0」
- キーを追加「2秒に1」
- キーを追加「4秒に0」
Easeノードについて
等速で変化する値に緩急をつけることができるノードです。様々なイーズタイプが設定可能で、加減速のあるアニメーションに活用ができます。
Easingの詳しい解説に関しては下記ページがとても参考になります。
[UE4] 動きに緩急をつけるEaseノードの紹介
個人的におすすめの設定は「Ease in Out」。Blend Expの値を調整して緩急のかかり具合を変更できるからです。
確認
ブループリントが正しく動作するか試してみましょう。作成した「BP_Sphere」クラスをレベルに配置して実行してみてください。球体が上下にループアニメーションしていたら成功です。
これでこのチュートリアルは完了です。とてもシンプルな仕組みですがブループリントを使ってアニメーションを作っていく際の基本的なアプローチの一つになるのではないかと思います。
現在、このチュートリアルの続編を執筆中です。続編では下のムービーのように、今回作ったクラスをブループリントで複数スポーンしてアニメーションを作成してみます。(自力でできる方はチャレンジしてみてください。)