前書き
ゲーム開発を進める中で、キャラクターの動きやカットシーン、カメラの演出をもっと魅力的にしたいと感じることがあるかもしれませんが、こうした演出をプログラムで実装するのは時間と手間がかかります。そこで便利なのがUnityに備わっているTimelineという機能です。
この記事では、Timelineの基本的な概要とその導入方法について説明していきます。ゲーム演出をこれから作成したい方はぜひ参考にしてみてください。
そもそもTimelineとは?
UnityのTimelineは、ゲーム内のアニメーションやオーディオ、カメラの動きなどを時間軸に沿って編集・管理できる機能になります。タイムラインという概念は、映像編集や音楽制作のソフトウェアでよく見かけるものですが、UnityのTimelineは主にゲーム内のイベントシーケンスを作成するために使用されます。たとえば、キャラクターが動いている最中にカメラがズームインし、その後会話が始まるといったシーンをコードを書かずに視覚的に編集できるのが特徴です。
Timelineの用途
- カットシーンの作成: ゲーム内での物語を演出するカットシーンを簡単に作成できます。
- アニメーションの同期: キャラクターの動き、オーディオ、UIの表示など、複数の要素を同期させるために利用します。
- カメラの制御: 複数のカメラを切り替えたり、Cinemachineを使ってシネマティックなカメラ移動を設定できます。
- イベント管理: 特定のタイミングでゲーム内のイベント(オブジェクトのアクティブ化やエフェクトの再生など)を発生させることができます。
Timelineを始める
Timelineの前置きを説明したところでこれからTimelineを設定してみましょう。今回はTimelineを使ってキャラクターを動かすところまでやっていきたいと思います。簡単に以下のステップで進めていきます。
- Timelineを生成する
- 空のオブジェクトにTimelineを設定する
- Timelineウィンドウにキャラクターを設定する
- Timelineでキャラクターの移動する経路を設定する
- Timelineを動かしてキャラクターが動くことを確認する
Timelineを生成する
まず最初にTimelineを生成してみましょう。
projectウィンドウ上で右クリックを押下し、Timelineを選択してTimelineを生成することができます。分かりやすいように以後、TimelineControllerとします。
空のオブジェクトにTimelineを設定する
次にHierarchyウィンドウから空のオブジェクトを作成し、先ほど作成したTimelineControllerを設定します。このとき、TimelineControllerを設定するのはInspectorウィンドウではなく、Hierarchyウィンドウの空のオブジェクトにTimelineControllerを設定する必要があります。
文章にするとちょっと伝わりずらいため、どのように設定するのか動画にしてみました。空のオブジェクト(=TimelineObject)にTimelineControllerを設定しています。
上記の動画のようにTimelineObjectにTimelineControllerを設定すると、TimelineObjectのInspectorウィンドウからPlayableDirectorが設定されていることが分かります。TimelineControllerをアタッチしてもPlayableDirectorは設定されませんので注意してください。
Timelineウィンドウにキャラクターを設定する
下準備は済んだので次はTimelineウィンドウを開いてキャラクターを設定していこうと思います。Timelineウィンドウは
Window -> Sequencing -> Timeline
にあります。
先ほど作成したTimelineObject(Timelineが設定されているオブジェクト)を選択した状態でTimelineウィンドウを開くと以下のような画面が表示されるようになります。
この状態でPlayerオブジェクトをD&DでTimelineに設定してみましょう。
その時の手順を以下の動画にしてみました。
D&Dで設定すると「Add Activation Track」や「Add Animation Track」などいろいろな設定が出てくることが分かりますね。それぞれ意味がありますがまずは「Add Activation Track」を選択してみてください。
先にAdd Activation Trackについて説明するとActivation Trackは、ゲームオブジェクトのアクティブ状態(Active/Inactive)を時間軸に沿って制御できるトラックになります。特定のタイミングでオブジェクトを表示したり、非表示にしたりする場合に使うトラックなのでこのトラックではまだオブジェクトを動かしたりすることはできません。
試しに少しActivation Trackをいじってみましょう。以下のようにActiveの時はオブジェクトが表示され、Active以外の時はオブジェクトが表示されないことが分かります。
Timelineでキャラクターの移動する経路を設定する
今度はキャラクターを動かしてみましょう。先ほどはAdd Activation Trackを追加しましたが、オブジェクト動かしたい場合はAdd Animation Trackを追加する必要があります。
先ほどと同じようにPlayerオブジェクトをD&DでTimelineウィンドウに追加しましょう。そのときAdd Animation Trackを選択すると以下のようにAnimatorを指している項目が追加されます。
この状態で右側の赤丸をクリックするとRecording状態となり、その状態でPlayerオブジェクトを動かすとその動かした軌跡を記憶してオブジェクトが動くようになります。
試しにPlayerオブジェクトを動かしてみました。Timelineの時間を変更しつつ、オブジェクトを動かしたい位置に動かしてみてください。
Timelineを動かしてキャラクターが動くことを確認する
動画中でも何度か動かしていますが、Timelineウィンドウの右向き三角マーク(再生ボタン)を押すことで設定したTimelineの動きを見ることができます。現在、「Add Activation Track」や「Add Animation Track」を設定していると思いますのでいろいろ設定してみて動きを確認してみてください。
以上で簡単にはなりますがTimelineの導入方法と簡単な動作確認になります。やってみるとコーディング不要で感覚的に設定できるかなと思います。最初は慣れないと思いますが、何度も繰り返しやってみると覚えていきますのでまずはいろいろと設定してみて動かして覚えていきましょう!
まとめ
今回はTimelineの始め方について紹介しました。
今回の記事では、Timelineの基本的な使い方について紹介しましたが、まだまだ紹介しきれていない機能もたくさんあります。例えば、Cinemachineと組み合わせて高度なカメラワークを実現したり、複数のTimelineを同期させて複雑なイベントを管理することも可能です。
今後の記事では、これらの応用的な使い方やゲーム全体の演出に役立つテクニックを詳しく解説していきたいと思います。Timelineを活用して、ゲームさらに楽しくしていきましょう!
コメント