Timelineを使ってワールドに動きを与える

こんにちは!ワールド制作アシスタントのミオです。この記事ではUnityの機能の一つである「Timeline」について紹介していきます。

Timeline

Timeline」とは動きなどを制御する仕組みの1つです。動きを制御だと、こちらの記事で紹介したアニメーターと同じなのでは?と思う方もいるかと思います。実際に、動きを制御するという部分ではほとんど同じになります。ではどのように違うのかというと、アニメーターアニメーションを条件で遷移できるのに対して、「Timeline」は、アニメーション・オーディオ・パーティクルなどを一度に時系列で制御することができます。

Timelineの準備

では早速、「Timeline」を作成してみましょう。
Timeline」は「Project」ビューを右クリックして、「Create」>「Timeline」と選択すると作成できます。

上記のようなアイコン(Unityのバージョンによって見た目が異なる場合があります)のファイルが生成されます。とりあえず名前は「Demo_Timeline」としておきました。※名前は自由で大丈夫ですよ。

では、アイコンをダブルクリックしてみてください。

これが、「Timelineウィンドウ」です。
見やすいと思う場所に配置しましょう。

次に動かす対象を用意します。
今回はScene内に「Cube」オブジェクトを配置しました。
※他のオブジェクトやAssetStoreからインポートしたものでも大丈夫ですよ!

次に、「Timeline」を動かすためのコンポーネントを作成します。「Cube」の「Inspector」>「Add Component」で「Playable Director」を追加しましょう。

「Playable Director」コンポーネントの「Playable」パラメーターに、先ほど作った、「Demo_Timeline」にアタッチします。

これで「Timeline」使う準備ができました!

Timelineを用いて動きを制御する

ここからは実際に「Timeline」を使って動きを制御してみましょう!

まずは「Timelineウィンドウ」を開いて、「+」>「Animation Track」を選択します。

上記のようなものが生成されたと思います。
「None(Animator)」と表示されているので、まだ何も設定されていない状態です。

赤枠の「◎」を押すと、「Select Animator」というウィンドウが表示されます。今回は「Cube」をアニメーションで制御したいので、「Cube」を選択しましょう!

「Cube」がアタッチされました!

ここからこの「Cube」に動きをつけていきます。
感覚としてはこちらの記事で紹介したアニメーションに近いです。
例えば、アニメーションウィンドウでも見た「赤丸」がありますね。

赤丸」を押せば「レコーディング(録画中)状態」になり、アニメーションウィンドウと同じくフレームを動かして、オブジェクトの「Position」や「Rotation」、「Scale」等を変更しアニメーションさせることができます。

と言うわけで、適当に動きをつけてみました。
アニメーションウィンドウと同じく、動きが記録され、再生できることが確認できましたね。

また、「Timeline」の「Animation Track」には制作したアニメーションデータも追加することが可能です。試しに新しくアニメーションを作って追加していきます。
アニメーションの作り方はこちらの記事を参考にしてみてください。

「CubeAnimation」というアニメーションを作って「Timelineウィンドウ」内の「Animation Track」にドラッグ&ドロップで追加します。
すると……

2つのアニメーションが続けて流れましたね!
しかし、2つめのアニメーションに移るとき、オブジェクトが瞬間移動していますね。そこで、次はシームレスに変化するようにしたいと思います。

アニメーションのクリップはドラッグで移動させることができるので、「Recorded」と「CubeAnimation」が少し重なるように調整します。
その状態で再生すると……

2つ目のアニメーションに移行するときに、瞬間移動をしなくなりましたね!

また、アニメーションクリップが存在しないフレーム、

上記の赤丸の位置ではアニメーションは再生されません。
赤丸のフレームでもアニメーションを繰り返して再生してほしい場合は、

再生されていてほしいアニメーションクリップを選択し、「Inspector」内の「Post-Extrapolate」の値を「Loop」に設定します。

アニメーションクリップが無いフレームでもアニメーションが繰り返されてますね!

と、ここまでだと「Animator」との違いが分かりづらいかもしれません。
大丈夫です!次に紹介するところが、「Timeline」の便利な部分になります!

他の機能も同時に制御する

最初にも書きましたが、「Timeline」はアニメーション・オーディオ・パーティクルなど様々なものを同時に制御することができます。
ここからは、その方法について紹介していきます。

パーティクルに関しては、Asset Storeよりお好みなものを用意したり、自分で作ってみたりして下さい。

今回使うパーティクルはこちらです。
※こちらは有料なので、無料のパーティクルがいいという人は、Asset Storeから探してみてください


さっそくやっていきましょう!

まず、今回もTimelineを制御するオブジェクトを作りましょう。
hierarchy内に「空のGameobject」を作成し、それに「Playable Director」を追加しました。
これは、複数のパーティクルを一つの「Timeline」で制御するためです。
新しい「Timeline」も作り、「Playable」にアタッチもしています。

まずはパーティクルを制御していこうと思ういます。パーティクルを制御するためには「Control Track」を使います。
「Control Track」を作成するため、「Timelineウィンドウ」「+」>「Control Track」を選択して下さい。

「Control Track」が生成されました。

もちろん、リネーム(名前を変更)することもできます。

では、動きを制御したいオブジェクトを追加していきましょう。

キーフレーム上で右クリック >「Add From Game Object」から選択するか、直接「Timeline」にドラッグ&ドロップすることで追加できます。

追加されたら、再生して動きを確かめてみましょう。

パーティクルの始まりのタイミングが「Timeline」で設定した位置になっていますね!

パーティクルにも再生タイミングを調整できる「start Delay」というパラメーターがありますが、「Timeline」の方が直感的で分かりやすいと思います!

制作したパーティクル、Asset StoreからダウンロードしたEffectなど、色々配置して再生してみて下さい。
多くのオブジェクトを一度にお手軽に制御できることが実感できると思います!すごく便利です!

さて、次はこの花火に「音」を追加していきます。
ですが、「Timeline」にたくさんオブジェクトを追加した方は、ごちゃごちゃして見ずらいかもしれないですね。
そんな時は、「Track Group」を作成して整理することが出来ます。

「+」から追加できるものの中に「Track Group」というものがあるので、こちらを追加しましょう!

「Timeline」上の「Track」をドラッグ&ドロップで「Track Group」に移動させると、グループ化させることができます。
もちろん「Track Group」横の「+」からそのグループに新たに「Track」を追加することもできます

グループのリネームもしておくと分かりやすいですね。

整理もできたので、次は「音」を追加していきましょう!

「Track Group」横の「+」から「Audio Track」を追加しましょう

上記のようなTrackが追加されます

そうしたら……

「Add From Audio Clip」から「音」を追加します!
こちらもドラッグ&ドロップで追加することが可能ですよ!

花火が打ちあがる時と開く時にそれぞれ効果音を設定してみました。
音のタイミングを直感的に調整できるのでとても楽だと思います!

以上が、「Timeline」の基本的な使い方になります!
動きのあるワールドを制作する(アニメーション・アニメーター編)で紹介した機能も活用して、皆様のワールド制作の幅が広がると幸いです。

記事をシェアしてワールド制作を盛り上げよう!